git常用命令整理

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文件的写法范例:

# 此行为注释,将被 Git 忽略

*.a        # 忽略所有 .a 结尾的文件

/TODO    # 仅仅忽略项目根目录下的 TODO 文件,不包括 subdir/TODO

build/     # 忽略 build/ 目录下的所有文件

doc/*.txt   # 会忽略 doc/notes.txt 但不包括 doc/server/arch.txt

 

 

 

命令名称

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

posted @ 2016-06-15 10:44  潘洪银  阅读(210)  评论(0编辑  收藏  举报