git命令学习大全

yum install git -y  #安装git

mkdir  directory    #建立Git仓库

git init     #初始化Git仓库

git add    #保存的暂存区

git commit -m "解释说明"   #提交到Git版本库

git status    #Git当前状态

git log     #Git提交的历史记录

git reset --hard HEAD^(或者commit 前五位)   #Git会退到上一版本

git reflog    #记录Git执行的历史命令

git diff HEAD -- file    #查看工作区和版本库的区别

git checkout -- file    #撤销对工作区的修改

git reset HEAD file    #撤销对暂存区的修改

git rm file    #确定删除版本库的文件

git remote add origin git@gitlab.com:用户名/仓库名称    #关联远程仓库

git push -u origin master    #推送master分支到远程仓库并合并本地和远程master

git push origin master    #提交master分支到远程仓库

git clone git@gitlab.com:用户名/仓库名称

git branch    #查看分支

git branch <name>    #创建分支

git checkout <name>    #切换分支

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

git merge <name>    #合并分支到当前分支

git branch -d <name>    #删除分支

git log --graph --pretty=oneline --abbrev-commit    #查看分支合并图

git merge --no-ff -m "描述" 分支    #关闭快速合并 生成新的commit  分支删除时不会丢失commit信息

分支策略

在实际开发中,我们应该按照几个基本原则进行分支管理:

首先,master分支应该是非常稳定的,也就是仅用来发布新版本,平时不能在上面干活;

那在哪干活呢?干活都在dev分支上,也就是说,dev分支是不稳定的,到某个时候,比如1.0版本发布时,再把dev分支合并到master上,在master分支发布1.0版本;

你和你的小伙伴们每个人都在dev分支上干活,每个人都有自己的分支,时不时地往dev分支上合并就可以了。

所以,团队合作的分支看起来就像这样:

git-br-policy

BUG 分支

Git还提供了一个stash功能,可以把当前工作现场“储藏”起来,等以后恢复现场后继续工作:

git stash

创建新的分支解决BUG

git stash list    #查看之前stash的工作区内容

git stash apply    #恢复之前stash工作区内容

git stash drop    #删除之前stash工作区内容

git stash pop    #恢复并且删除stash工作区内容

合并分支前删除分支

git branch -D 分支

git remote    #查看远程库信息

git remote -v    #查看远程库详情

git push origin dev    #推送dev分支

git checkout -b dev origin/dev  #拉取远程分支 协同办公 默认无法拉取dev分支  需要本地创建

git pull    #从远程仓库拉取当前分支最新提交

git branch --set-upstream-to=origin/dev dev    #指定本地分支dev和远程分支origin/dev的链接

git tag <name>    #给分支打上标签  如v1.0  默认打在最新提交的commit上

通过git log --pretty=oneline --abbrev-commit 查看历史未打tag的commit

$ git log --pretty=oneline --abbrev-commit
12a631b (HEAD -> master, tag: v1.0, origin/master) merged bug fix 101
4c805e2 fix bug 101
e1e9c68 merge with no-ff
f52c633 add merge
cf810e4 conflict fixed
5dc6824 & simple
14096d0 AND simple
b17d20e branch test
d46f35e remove test.txt
b84166e add test.txt
519219b git tracks changes
e43a48b understand how stage works
1094adb append GPL
e475afc add distributed
eaadf4e wrote a readme file

git tag v0.9 f52c633

git tag    #查看标签

git show <tagname>

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

git tag -a v0.1 -m "version 0/1 released" 1094adb

git tag -d <tagname>    #删除标签信息

git push origin <tagname>    #将标签推送的远程仓库

git push origin --tags    #一次性推送到远程的本地标签

git push origin :refs/tags/<tagname>    #从远程删除标签

git config --global alias.st status    #配置别名

 

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

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

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

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值