Git Community Book翻译 (六)

翻译真的不是一件轻松的差事
权当是重新理解Git一次吧。

今天用的是word2007,所以把文章贴过来时格式有点问题

权且先这样吧

~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~


除了用git add 命令,我还可以用
$ git commit -a
这会把自动所有内容被修改的文件(不包括新加)都添加了索引中,并且同时把它们提交。

这里有一个关于写commit注释的技巧和大家分享,commit注释最好以一行短句子作为开头,来简要描述一下这次commit所作的修改;然后空一行再把详细的注释写清楚。这样就可以很方便的用工具把commit释变成通知的email,第一行作为标题,剩下的部分就作email的正文。

Git跟踪的是内容不是文件(Git tracks content not files)
很多版本控制系统都提供了一个“add”命令:告诉系统开始去跟踪某一个文件的改动。但是Git里的”add”命令做某些事时更简单且更强大。git add 不但是用来添加不在版本控制中的新文件,也用于添加已在版本控制中但是刚修改过的文件;在这两种情况下,Git都会获得当前的文件的快照并且把内容添加到索引中,为下一次commit做好准备。

基本的分支和合并命令(BASIC BRANCHING AND MERGING)
一个Git仓库可以维护很多开发分支。我们创建一个新的叫”experimental”的分支:
$ git branch experimental
如果你运行下面这条命令:
$ git branch
你会得到当前仓库中存在的所有分支列表:
experimental
* master
“experimental” 分支是你刚才创建的,“master”分支是Git系统默认创建的主分支。星号(“*”)标识了你当工作在哪个分支下,输入:
$ git checkout experimental
切换到”experimental”分支,编辑里面的一个文件,提交(commit)改动,并且切换回 “master”分支。
(edit file)
$ git commit -a
$ git checkout master
你现在可以看一下你原来在“experimental”分支下所作的修改还在不在;因为你现在切换回了“master”分支,所以原来那些修改就不存在了。

你现在可以在“master”分支下再作一些不同的修改:
(edit file)
$ git commit -a
这时,两个分支就有了各自不同的修改;我们可以通过下面的命令来合并“experimental”和“master”两个分支:
$ git merge experimental
如果没有冲突(conflict), 合并就完成了。如有有冲突,输入下面的命令就可以查看当前有哪些冲突
$ git diff
当你编辑了有冲突的文件,解决了冲突后就可以提交了:
$ git commit -a
提交(commit)了合并的内容后就可查看一下:
$ gitk
执行了gitk后会有一个很漂亮的图形的显示代码的历史。
这时你也许可以删除掉你的 “experimental” 分支了:
$ git branch -d experimental
git branch –d只能删除那些已经被当前分支的合并的分支,如果你要强制的删除的话就用git branch –D;下面假设你要强制删除一个叫”crazy-idea”的分支:
$ git branch -D crazy-idea

猜你喜欢

转载自liuhui998.iteye.com/blog/692016
今日推荐