Git日常用法(2)
提交修改
提交是一个相对简单的过程,它将边个添加到版本库的历史记录中,并为他们分配一个提交的名称。
有多种使用命令git commit的方式,这些方式都要输入一段提交留言,对于简短的浏览,可以使用参数-m,在参数输入之后输入,留言内容可以是任意有效字符串,如果留言内容包含多段内容,可以给命令git commit传递多个-m.
对于比较复杂的提交留言,需要用编辑器来输入,如果输入不带-m参数的git commit命令,git会启动编辑器来提交留言,为启动编辑器,git会按照一下方式查找编辑器的设置:
1.环境变量GIT_EDITOP
2.Git的设置core,editor的值
3.环境变量VISUAL
4.环境变量EDITOR的值
5.如果上述值均为空,Git会尝试启动vi编辑器。
有三种提交方法
(1)先使用git add命令将要提交或者修改的文件添加到暂存区,再调用git commit命令完成提交;
git add some-file
git commit –m “changes to some-file”
(2)使用命令git commit传递-a参数,git会把工作目录树中的当前所有的修改提交版本库中,组合一这种情况下,命令git commit -只会把已纳入git版本库控制的文件添加到版本库中,而不会添加尚未被跟踪的文件。
git commit –m “changes to some file” –a
(3)该方法是指定要提交的文件或者文件目录,具体做法是,把要提交的文件列在其他参数的后面
git commit –m “changes to some-file” some-file
这3种方法各有各的用途,当要用命令git add提交文件的一部分修改时,先暂存后提交的方法比较适合,如果修改多个文件且必须提交其中一个文件时,可以用指定提交文件的方法来处理。
上边3种方法中,后两种是直接提交,第一种是先暂存后提交,也就是说当在工作目录树中修改了一个文件后,可以先暂存该修改,之后再次修改该文件,然后可以提交刚才已经暂存的修改,而再次修改的内容没有提交,热然仅在工作目录树中。
可以把暂存区想成一个缓冲区,用命令git add向缓冲区添加修改,直到执行git commit提交缓冲区中的修改。
补充:
使用svn简称类似的git别名
subversion的用户或许已经适应可常用命令的简写方式,无须输入svn checkout或svn commit,使用简单的svn co或svn ci就可以完成同样的功能。但是git没有像subversion提供命令的简写方式,但是他提供了一个更好的方法,可以通过git config添加用户特有的命令别名,例如可以将命令git commit简写成git ci:
git config –global alias.ci “commit”
这种给命令起别名的方式使用任何git命令,所以用户可以按照走自己喜欢的方式定制工作环境,只须使用简写别名替换alias.后面的部分就可以了。