Git 命令大全

注意:

暂存区叫stage或index,命令中使用--cached和--staged是等同的。

git区分大小写,-a和-A是不同的。

git --version:查看git版本

git help [command]:查看命令帮助

git config:配置git版本库

    git config --list:显示配置列表

    git config --global:全局配置

    git config --global user.name xxx:配置用户名

    git config --global user.email xxx:配置邮箱

    git config --global http.proxy http://127.0.0.1:1080:配置http代理

    git config --global https.proxy https://127.0.0.1:1080:配置https代理

    git config --global http.sslVerify false:配置http的ssl验证为false

    git config --global alias.co checkout:配置别名

    git config --global --unset xxx:取消配置xxx

git init:将当前目录初始化为Git存储库(创建隐藏的.git文件夹及其内容)。

git clone:在指定的URL下载Git存储库的副本。

git add:将文件添加到暂存区。发生冲突并修改完冲突后,使用git add标记已解决冲突。

    git add .:将工作空间下所有文件添加到暂存区(new,modifyed)

    git add -A:将工作空间下所有文件添加到暂存区(new,modifyed,delete)

    git add -u:将工作空间下所有文件添加到暂存区(modifyed,delete)

git ls-files:查看暂存区的文件

    git ls-files -m:查看和暂存区相比,本地修改的文件

    git ls-files -d:查看和暂存区相比,本地删除的文件

git rm:从工作区和暂存区删除文件,相当于删除本地文件,再将修改添加到暂存区

    git rm -cached:仅从暂存区中移除文件

git mv name1 name2:重命名文件,并将修改添加到暂存区。相当于执行了mv name1 name2,git rm name1,git add name2三条命令。

git restore  <file>:恢复工作区文件,从暂存区恢复。等价于git checkout file。

    git restore --staged <file>:移除暂存区中所有对文件修改的暂存,相当于git reset HEAD filename。如果使用git rm -cached从缓存中删除了文件,也可以使用该命令恢复

git commit -m 'message':将暂存区的文件提交到版本库

    git commit -a -m "message":可简写为 -am,跳过git add 命令,直接将工作区所有已跟踪的文件提交到版本库,未跟踪的(untracked)文件不能使用该命令

    git commit --amend:撤销上一次提交将暂存区的文件重新提交(改写提交)

git status:显示与工作目录,当前分支,未跟踪的文件,已修改的文件等状态有关的信息。

    git status -s:以简洁格式输出

git diff:查看暂存区和工作目录的差异

    git diff --cached:查看暂存区和本地库的差异

    git diff HEAD:查看本地工作区和本地库中的差异

    git diff HEAD^:查看本地工作区和本地库上个版本的差异

git fetch:获取当前分支追踪的的远程分支。git fetch只会获取远程分支内容,不会合并,本地内容不会改变。可以使用git checkout origin/master切换分支来查看获取到的远程库的内容。可通过git merge origin/master来合并获取到的内容。

    git fetch <remote> <branch>:获取某个远程库的某个分支

git pull:拉取当前分支追踪的远程分支,并合并到当前分支,相当于先git fetch再git merge

    git pull <remote> <branch>:拉取某个远程库的某个分支

    git pull origin dev:master:拉取origin远程仓库的dev分支,并合并到本地的master分支

git push:推送当前分支到追踪的远程分支

    git push origin  <branch>:推送当前分支到某个远程库的某个分支,但不建立追踪

    git push -u origin  <branch>:推送当前分支,同时建立追踪

    git push origin --delete <branch>:删除远程分支

    git push origin local_branch:remote_branch:将本地的local_branch分支推动到远程的remote_branch分支上

git log:显示活动分支的提交历史记录和相关的描述性消息。

    git log --pretty=oneline:单行显示

    git log --oneline:单行显示

    git log --graph:以图来显示

    git log --graph --online:以图来显示,且每个提交显示为单行

git reflog:显示所有Reference log,会显示HEAD的变化。其中HEAD@{数字},数字表示移动到当前版本需要多少步.

    git reflog --date=local | grep <branchname>:查看分支来自哪一个分支

git reset:前进后退

    git reset --hard [版本号]:回到制定版本,可前进后退

    git reset --hard HEAD^ :有几个^回退几个版本,只能后退,^为0个时,指恢复到修改前的版本

    git reset --hard HEAD~n:回退n步,只能后退

    git reset --soft xxx:只倒退本地库,工作区和暂存区不后退

    git reset --mixed xxx:后退本地库和暂存区,工作区不后退。不加参数时的默认选项。

    git reset --hard xxx:后退本地库,暂存区和工作区,如果工作区存在未提交的内容,将会丢失该内容

git branch:查看分支

    git branch -a:查看所有分支,包括本地和远程分支

    git branch -v:查看分支,并且显示hash和提交信息

    git branch -vv:查看分支,并且显示hash和提交信息,以及跟踪的远程分支

    git branch <name>:基于分支创建新分支,name为新分支名。。

    git branch <name> <hash>:根据指定提交创建分支

    git branch --set-upstream-to=<remote>/<branch> branch:将本地的分支追踪到远程库的分支

    git branch -u <remote>/<branch>:上面的命令--set-upstream-to的简写

    git branch -m:修改分支名称

    git branch -d/-D:删除/强制删除分支

    git branch -merged:查看哪些分支已经合并到当前分支。在这个列表中分支名字前没有*号的分支通常可以用git branch -d删除掉。

    git branch --no-merged:查看未合并工作的分支。尝试使用git branch -d删除这个列表中的分支时会失败。如果真的想删除分支并丢掉那些工作,使用-D选项强制删除。

git checkout <name>:检出分支

    git checkout -b <name>:创建并切换分支

    git checkout -b <name> <origin>/<master>:根据远程分支创建并检出新分支

    git checkout <file>:检出暂存区的文件替换工作区的文件,注意是检出暂存区,如果修改文件并添加到暂存区,然后再次修改文件,之后执行该命令,那么只会丢失第二次修改,因为暂存区里包含第一次修改。另外,如果是拉取版本库来替换工作区,使用git reset --hard HEAD <filename>.

git merge:将指定的分支合并到当前分支(Fast forward)

    git merge -no-ff -m <commit message>:合并指定分支到当前分支(-no-ff 参数表示禁用Fast forward)

git stash:暂时贮存修改内容,注意和暂存区进行区分。当你还不想提交,但需要切换分支工作时可以使用该命令暂时将修改贮存起来。

    git stash list:查看所有贮藏的工作

    git stash apply <stash@{2}>:应用贮藏,无参数则默认是最近的贮藏

    git stash drop <贮存名>:删除贮藏

    git stash pop:应用最近的贮存,并删除它

git remote:列出远程仓库

    git remote -v:查看远程仓库信息,包括仓库的url

    git remote show origin:显示更多远程库的信息,包括url,所有跟踪的分支,fetch或pull时本地和远程分支的关系。

    git remote rename <name1> <name2>:重命名远程仓库

    git remote add orgin url:添加远程库origin,关联远程仓库

    git remote set-url origin url:重新设置远程库origin的url

    git remote rm origin:删除远程库origin

    git remote prune origin --dry-run:列出仍在远程跟踪但是远程已被删除的无用分支

    git remote prune origin:清除上面命令列出来的远程跟踪

git tag:查看所有tag

    git tag <name>:创建tag

    git tag 版本id <name>:创建一个指向某次提交的tag

    git tag -a -m <message>:创建一个未签名,带注释的tag

    git show <tag name>:查看tag

git hash-object <file / stdin>:返回sha-1算法的hash值

    git hash-object -w :返回hash值,同时将对象写入数据库 

git cat-file:查看快照的目录列表

    git cat-file -p HEAD/hash值:查看HEAD或某个sha1值对应的内部存储的对象的内容

    git cat-file -t HEAD/hash值:查看HEAD或某个sha1值对应的内部存储的对象的类型

git update-index:为文件创建暂存区

    git update-index --add:为新文件创建暂存区

git write-tree:将当前暂存区的状态记录为一个树对象

git read-tree <hash>:将树对象读入暂存区

git commit-tree <hash>:创建提交对象

  • 20
    点赞
  • 11
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值