Git的零零碎碎(持续更新)

长平狐 发布于 2012/08/28 16:36
阅读 943
收藏 0

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的指向:

$ 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
加载中
返回顶部
顶部