git文件的状态
?
git status用来观察文件状态
?
?
?
tracked/untracked
?
已经被git管理的,不管有无更新,都是tracked状态
?
与git无关的文件,属于untracked状态,可以用git add将一个文件变成tracked状态,文件同时进入了staging area.
?
?
?
下面的状态都是tracked文件才有的
?
modified/unmodified ?在工作区里面已经修改的/没有修改的 文件
?
staged 用git add加入到staging area中的文件。
?
?
?
?
?
?
?
?
?
git config的范围
?
--system ?会配置在/etc/gitconfig文件中
?
--global 会写在~/.gitconfig文件中
?
当前项目目录 .git/config文件
?
后者会覆盖前者,如果变量名相同的话。
?
?
?
设置git默认编辑器
?
git config --global core.editor emacs
?
?
?
查看git设置
?
git config --list
?
?
?
忽略一些目录
?
在当前项目中创建.gitignore文件,里面加上
?
target/
?
build/
?
?
?
忽略一些文件
?
同样在.gitignore文件中加上:
?
*.*~
?
?
?
我的项目中同时有Java Maven项目和C++ CMake项目,这下编译产生的目录直接被忽略掉了。很方便啊!
?
?
?
head是什么?
?
head就是一个指针,指向当前你正在用的branch.
?
可以这样来看head的指向:
?
class="plain">$ 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?
?
?
?
?
?
?
原文链接:http://blog.csdn.net/sheismylife/article/details/7583363