软件测试学习之路

Git - 常用命令

2019-06-19  本文已影响0人  乘风破浪的姐姐

查看上个版本修改的内容

$ git diff 文件名 

查看工作区和版本库中最新 指定文件的区别

$ git diff HEAD --文件名

显示从最近到最远的提交日志的历史(详细信息)

$ git log 

显示从最近到最远的提交日志的历史(简洁明了的单行显示)

$ git log --pretty=oneline

用带参数的git log查看分支合并图

$ git log --graph --pretty=oneline --abbrev-commit

查看当前分支状态

$ git status

查看命令历史,以便确定要回到未来哪个版本

$ git reflog

回退到历史版本(上个版本 HEAD^ 上上个版本 HEAD^^ 上100个版本 HEAD~100)

$ git reset --hard HEAD^

回到未来版本

$ git reset --hard commit_id

将最新的暂存区的修改回退到工作区

$ git reset HEAD 文件名

取消工作区中指定文件的修改

$ git checkout -- 文件名

删除指定文件

$ git rm 文件名

已有的本地库与远程库关联

$ git remote add origin git@server-name:path/repo-name.git

第一次推送本地分支的所有内容到远程分支

$ git push -u origin master

非第一次推送本地分支到远程分支

$ git push origin master

根据远程库克隆本地库(本地path下会生成一个名为repo-name的文件夹)

$ git clone git@server-name:path/repo-name.git

创建并切换到新的分支

$ git branch -b newbranch

||

$ git branch newbranch
$ git checkout newbranch

合并指定分支到当前分支(master)
Fast forward模式合并,合并后的历史无分支相关信息

$ git merge newbranch

普通模式合并,合并后的历史有分支,能看出来曾经做过合并

$ git merge --no-ff -m "merge newbranch" newbranch

删除分支

$ git branch -d newbranch

隐藏当前工作现场

$ git stash

查看所有隐藏的工作现场

$ git stash list
stash@{0}: WIP on dev: f52c633 add merge

恢复指定的stash

$ git stash apply stash@{0}

释放当前工作现场,并删除stash

$ git stash pop 

恢复当前工作现场

$ git stash apply 

删除stash

$ git stash drop

强制删除一个没有被合并过的分支

$ git branch -D newbranch

推送本地分支到远程分支

$ git push origin 远程分支名称

本地创建和远程对应的分支

$ git checkout -b newbranch origin/newbranch

建立本地分支和对应远程分支的关联(当git pull提示no tracking information时使用)

$ git branch --set-upstream newbranch origin/newbranch

把最新的提交从远程分支上抓下来

$ git pull

把本地未push的feature1分支提交历史整理成直线

$ git rebase master

rebase 做了什么操作呢?
首先, git 会把 feature1 分支里面的每个 commit 取消掉;
其次,把上面的操作临时保存成 patch 文件,存在 .git/rebase 目录下;
然后,把 feature1 分支更新到最新的 master 分支;
最后,把上面保存的 patch 文件应用到 feature1 分支上;

打一个新的标签

$ git tag v1.0

查看所有标签

$ git tag

对某一次(commit_id可以是前7位,如f52c631)的提交打标签

$ git tag v1.1 f52c631

创建带有说明的标签,用-a指定标签名,-m指定说明文字

$ git tag -a v1.1 -m "version 1.1 released" f52c631

查看标签中详细提交信息

$ git show v1.1

删除指定本地标签

$ git tag -d v1.1

一次性推送全部尚未推送到远程的本地标签

$ git push origin --tags

删除远程标签(先删除本地,再删除远程)

$ git tag -d v1.1

$ git push origin :refs/tags/v1.1

廖雪峰Git教程

上一篇下一篇

猜你喜欢

热点阅读