git某些命令的使用(个人笔记)

本文介绍了Git在解决冲突时的处理方式,包括git rebase和git merge的使用。通过实例详细阐述了如何解决冲突,以及在rebase过程中可能出现的多次冲突解决。同时,文章还提到了git子模块、cherry-pick命令的应用,以及提交顺序的重要性,强调了避免代码丢失的注意事项。
摘要由CSDN通过智能技术生成

当有冲突时,可以手动解决冲突,但如果直接使用某一方的改变替换,则当:

     git merge 冲突:

                resolve conflict use head: 用自己的替换掉远端

                resolve conflict use merge_head: 用远端替换掉自己的

   git rebase 冲突:

                resolve conflict use head: 用远端的替换掉当前分支

                resolve conflict use changes to be insteadgrated:用自己的替换掉远端

1.   git rebase 和 git merge 的使用

      git rebase建议用于分支合并主分支,而git merge不但可以用于前者还可用于主分支合并分支。

      先说git rebase:

      假如当前主分支是master,其它分支是dev。

      git rebase时可能进行多次冲突的解决,这取决于当前分支有多少次commit,以及解决一次冲突后跟后面的commit是否会再次冲突,举例如下:

     a.  在master分支和dev分支有文件test.txt,开始时txt文件的内容都是789

     b在master分支将test.txt内容改为489然后commit并切换到dev分支,对dev分支的txt文件做两次修改并commit,两次修改的内容分别为289和389

E:\whb\study\gittest\test>git commit -am "master modify to 4"
[master 3370a66] master modify to 4
 1 file changed, 1 insertion(+), 1 deletion(-)

E:\whb\study\gittest\test>git branch
  dev
* master

E:\whb\study\gittest\test>git checkout dev
Switched to branch 'dev'

E:\whb\study\gittest\test>git commit -am "dev modify to 2"
[dev fc845c8] dev modify to 2
 1 file changed, 1 insertion(+), 2 deletions(-)

E:\whb\study\gittest\test>git commit -am "dev modify to 3"
[dev 9fa548f] dev modify to 3
 1 file changed, 1 insertion(+), 1 deletion(-)

c .  接着,我们开始rebase,命令如下

E:\whb\study\gittest\test>git rebase master
First, rewinding head to replay your work on top of it...
Applying: dev modify to 2
error: Failed to merge in the changes.
Using index info to reconstruct a base tree...
M       test.tx
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值