Git 常用命令
备注:此文档整理的内容只针对git命令的通常用法和注意事项,若要查看详细使用说明请参考:
man git cmd-name 或 git cmd-name --help
命令名称 |
clone |
通常用法 |
git clone git@git.chinahisu.com:shanxigaoqing/midware_main.git (使用默认仓库名) 若要自定义仓库名,只需在末尾处加上自定义的名称即可。 |
使用说明 |
复制服务器端的代码到本地当前目录中(与服务器交互),clone下来的库只包含服务器端库的当前工作分支,其他分支并不会一并clone下来。 |
命令名称 |
add |
|
通常用法 |
git add filename (添加或更新单个文件到索引库) git add directory (添加或更新目录到索引库,包含目录下所有的文件) git add . (添加或更新当前目录下所有文件到索引库) |
|
使用说明 |
此命令主要用于将我们想要提交的文件添加或更新到索引库中,然后通过git commit命令提交到本地仓库中,使用此命令时,注意查看工程根目录下是否有.gitignore文件,如果没有,记得一定要手工添加上,否则你会受到鄙视的,因为此文件是用来过滤那些不想提交的文件用的,写好此文件以后就可以直接敲: git add . 命令而不用担心把不必要的文件一同提交了。 .gitignore文件的写法范例:
|
命令名称 |
status |
通常用法 |
git status (常规显示) git status -s (简短显示) |
使用说明 |
此命令主要用来查看文件状态,在commit前使用status命令查看一遍文件状态是一个好习惯。 |
命令名称 |
commit |
通常用法 |
git commit (需要在打开的文本编辑器里填写注释,否则无法提交) git commit -m “log-info” (这样就不需要在文本编辑器里填写了,二者选其一) git commit -a (跳过add直接提交,但不会提交新添加的文件) |
使用说明 |
使用此命令前,请一定要确认还有什么修改过的或新建的文件还没有 git add 过,否则提交的时候不会记录这些还没暂存起来的变化。所以,每次准备提交前,先用 git status 看下,是不是都已暂存起来了,然后再运行此命令; 有时候我们提交完了才发现漏掉了几个文件没有加,或者提交信息写错了,想要撤消刚才的提交操作,可以使用 --amend 选项重新提交。 |
命令名称 |
checkout |
通常用法 |
git checkout branch-name (切换到指定分支) git checkout -b branch-name (创建一个分支并切换过去) git chechout filename (从暂存区检出指定的文件覆盖工作区中相应的文件) git checkout branch-name filename (从指定分支中检出指定文件到当前分支中,同时覆盖暂存区和工作区) |
使用说明 |
略 |
命令名称 |
branch |
通常用法 |
git branch (列出本地已经存在的分支,并且在当前分支的前面加“*”号标记) git branch -a (列出所有存在的分支,包含本地和远程) git branch branch-name (基于当前分支创建一个新的分支,分支命名建议:br-name) git branch -d branch-name (删除分支,强制删除请使用 -D ) git branch -m old-name new-name (重命名分支, 强制重命名请使用 -M ) |
使用说明 |
命令名称 |
fetch |
通常用法 |
git fetch (拉取已关联的远程仓库中所有的分支数据,并在本地建立对应的副本) git fetch remote-repository (拉取指定的远程仓库下所有分支数据) git fetch remote-repository remote-branch (拉取指定远程仓库的指定分支到FETCH-HEAD) git fetch remote-repository remote-branch:local-branch (拉取指定远程仓库中的指定分支到本地指定分支中,如果指定的本地分支不存在则创建它,若已存在则根据情况进行合并) |
使用说明 |
命令名称 |
diff |
通常用法 |
git diff (比较工作区和暂存区) git diff --staged/cached (比较暂存区和仓库) git diff HEAD (比较工作区和仓库) git diff branch-name (比较当前分支工作区与指定分支的差异) git diff branch1 branch2 (比较两个分支) git diff commit1 commit2 (比较两个不同的提交版本) |
使用说明 |
Diff命令的输出不是很通俗易懂,个人建议用difftool代替diff命令,difftool可以自定义比较工具,个人推荐meld工具,配置方式:git config --global diff.tool meld,配置好以后,就可以在合并不同分支之前先用difftool工具进行修改,这样在很多时候比用mergetool更实用。 |
命令名称 |
push |
通常用法 |
git push remote-repository :branch (删除指定远程仓库中指定的分支) git push remote-repository local-branch (推送指定分支到远程仓库中,若没有对应分支则创建它) git push remote-repository local-branch:remote-branch (推送指定分支到远程仓库中的指定分支) |
使用说明 |
命令名称 |
未完待续 ...... |
通常用法 |
|
使用说明 |
作者:潘洪银
地址:http://www.cnblogs.com/panhongyin