ubuntu使用git时常碰见的问题详解

1、需要将master分支上的某次提交快速的合入到master-dev分支上?

      Step1:git checkout master-dev (切换至master-dev分支)

      Step2:git checkout .(保证本地环境干净)

      Step3:git cherry-pick xxxxxx(在master分支上已经提交成功记录的commit-id)

      Step4:如果有冲突,则先解决冲突,可以通过git status 查看“双方修改的---文件”(搜索"<<<<","====",">>>"都可以找到冲突的地方) 如果冲突太多,也可以手动用meld diff工具进行merge.

      Step5:解决完冲突之后,git add xxxx(文件名)

      Step6:git cherry-pick continue(继续提交,这一步相当于git comm xxxx)

      Step7:git push origin HEAD:refs/for/master-dev(将本次修改push到远程master-dev仓库)


2、如何回退某个文件的修改?

      git reset xxxxxxxxx(commit-id)  ssssss(文件名称)

      如:git reset 152a1dc8a4c6b525d4ba86ca7f2af05d2cc252c2 MyActivity.java


3、如何在git里面打tag(常用于发布版本时,标记这次提交)?

      如:要发布一个正式版本时,可以如下这个打tag

      新增tag: git tag -a v1.2.0 -m "教育版v01"
      推送tag到服务器: git push --tags
      删除远程tag:  git push origin --delete tag v1.2.0
      删除本地tag:  git tag -d 
v1.2.0


4、有时会碰到提交失败的情况,大部分可能是本地代码要么比服务器早,要么比服务器晚.如何解决?

       方法一:

       Step1:git reset --soft xxxxxx (先回退到一个比较旧的节点)

       Step2:git pull

       Step3:git commit xxxxxx

       Step4:git push origin HEAD:refs/for/master(push到远程master仓库)

       方法二:

       Step1:git stash //将当前修改保存到内存(只包含修改的部分)

       Step2:git stash list //列出当前内存的修改

       Step3:git stash pop //将当前内存中的棧顶合入当前文件系统.

       Step4:git pull --rebase

       Step5:git commit xxxxxx

       Step6:git push origin HEAD:refs/for/master


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

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

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

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值