1. 如果希望在克隆的时候,自己定义要新建的项目目录名称,可以在上面的命令末尾指定新的名字
$ git clone git://github.com/schacon/grit.git mygrit
2. 要查看尚未暂存的文件更新了哪些部分,不加参数直接输入 git diff
3.若要看已经暂存起来的文件和上次提交时的快照之间的差异,可以用 git diff --cached
命令。(Git 1.6.1 及更高版本还允许使用git diff --staged
,效果是相同的,但更好记些。)
4.如果删除之前修改过并且已经放到暂存区域的话,则必须要用强制删除选项 -f
(译注:即 force 的首字母),以防误删除文件后丢失修改的内容。
5.另外一种情况是,我们想把文件从 Git 仓库中删除(亦即从暂存区域移除),但仍然希望保留在当前工作目录中。换句话说,仅是从跟踪清单中删除。比如一些大型日志文件或者一堆 .a 编译文件,不小心纳入仓库后,要移除跟踪但不删除文件,以便稍后在 .gitignore 文件中补上,用 --cached 选项即可:
$ git rm --cached readme.txt
6. git log
有许多选项可以帮助你搜寻感兴趣的提交,接下来我们介绍些最常用的。我们常用 -p
选项展开显示每次提交的内容差异,用 -2
则仅显示最近的两次更新:
$ git log -p -2
还有个常用的 --pretty
选项,可以指定使用完全不同于默认格式的方式展示提交历史。比如用 oneline
将每个提交放在一行显示,这在提交数很大时非常有用。另外还有 short
,full
和fuller
可以用,展示的信息或多或少有些不同
但最有意思的是 format
,可以定制要显示的记录格式,这样的输出便于后期编程提取分析,像这样:
$ git log --pretty=format:"%h - %an, %ar : %s"
ca82a6d - Scott Chacon, 11 months ago : changed the version number
085bb3b - Scott Chacon, 11 months ago : removed unnecessary test code
a11bef0 - Scott Chacon, 11 months ago : first commit
另一个真正实用的git log
选项是路径(path),如果只关心某些文件或者目录的历史提交,可以在 git log
选项的最后指定它们的路径。因为是放在最后位置上的选项,所以用两个短划线(--
)隔开之前的选项和后面限定的路径名。
7. 有时候我们提交完了才发现漏掉了几个文件没有加,或者提交信息写错了。想要撤消刚才的提交操作,可以使用 --amend
选项重新提交
$ git commit --amend
8. 我们可以通过命令 git remote show [remote-name]
查看某个远程仓库的详细信息,比如要看所克隆的 origin
仓库,可以运行:
$ git remote show origin
9. 在新版 Git 中可以用 git remote rename
命令修改某个远程仓库在本地的简称,比如想把 pb
改成 paul
,可以这么运行:
$ git remote rename pb paul
10. 碰到远端仓库服务器迁移,或者原来的克隆镜像不再使用,又或者某个参与者不再贡献代码,那么需要移除对应的远端仓库,可以运行git remote rm
命令:
$ git remote rm paul