设置git默认编辑器
git config --global core.editor emacs
查看git设置
git config --list
忽略一些目录
在当前项目中创建.gitignore文件,里面加上
target/
build/
忽略一些文件
同样在.gitignore文件中加上:
*.*~
我的项目中同时有Java Maven项目和C++ CMake项目,这下编译产生的目录直接被忽略掉了。很方便啊!
head是什么?
head就是一个指针,指向当前你正在用的branch.
可以这样来看head的指向:
$ cat .git/HEAD
ref: refs/heads/master
git checkout
Git的checkout有两个作用:
1,在不同的branch之间进行切换,例如'git checkout new_branch'就会切换到new_branch的分支上
2,是还原代码的作用,例如'git checkout js/flow.js'会将flow.js文件从上一个已提交的版本中更新回来,未提交的内容全部会丢失
git checkout -f
有时侯用git pull会出现错误信息:
Please, commit your changes or stash them before you can merge
可以用git checkout -f ,这样任何本地的修改都会被抛弃。
然后git pull成功。
git 查看日志
查看某个文件的提交日志可以执行
git -p filename