工作必须掌握的git命令

一、代码提交之前的pull及冲突解决

还没有commit:

  1. 通过git stash save "save message" 将自己写的东西存起来。
  2. 通过git pull --rebase 拉取代码并将自己放在最新,rebase和merge的区别可以另外了解下。
  3. 通过git stash pop或者 git stash apply将保存的恢复,其中pop是直接删掉这个stash,apply是不删,可以通过git stash list查看stash的列表。
  4. 将冲突处理。
  5. 执行git commit -m "commit message" 进行commit,然后push到远程仓库。

本地代码已经commit:

  1. 通过git pull --rebase 拉取代码并将自己放在最新。
  2. 有冲突的话处理冲突,冲突处理后执行git add ,不需要commit,然后执行git rebase --continue使rebase继续。
  3. 这个时候是已commit的本地仓库分支,可以直接push到远程。

二、git reset重置到指定的Commit

  1. git reset --mixed:回到指定的commit,当前与回退的版本的差异全部放在work_tree中。
  2. git reset --soft:回到指定的版本,work_tree不变,中间的commit的变化加入到暂存区中。
  3. git reset --hard:直接回到指定的版本,中间的全部擦除掉。

三、git cherry-pick

详细的可以看这篇博客

四、跟踪远程分支

  1. 查看本地与远程的映射关系:git branch -vv
  2. 在本地新建分支x,并自动切换到该本地分支x:git checkout -b 本地分支名x 远程仓库名/远程分支名x
  3. 在本地创建分支,不切换到新建的分支:git branch 本地分支 远程仓库/远程分支
  4. 设置已有分支的跟踪关系:git  branch -u  origin/remote_branch_name  local_branch_name
  5. 撤销对远程分支的跟踪:git branch --unset-upstream

五、子模块

  1. 添加子模块:git submodule add git地址
  2. 如果项目的模块中已经有了子模块,那么先git submodule init 然后进行更新 git submodule update
  3. 进入相应的子模块的目录下,那么git就是在子模块的仓库了,可以通过git branchgit log等查看子模块的相关信息。

 

 

 

 

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

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

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

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值