温馨提示×

温馨提示×

您好,登录后才能下订单哦!

密码登录×
登录注册×
其他方式登录
点击 登录注册 即表示同意《亿速云用户服务条款》

Git冲突中git checkout高级用法是什么

发布时间:2021-12-06 16:49:41 来源:亿速云 阅读:350 作者:柒染 栏目:大数据

Git冲突中git checkout高级用法是什么,很多新手对此不是很清楚,为了帮助大家解决这个难题,下面小编将为大家详细讲解,有这方面需求的人可以来学习下,希望你能有所收获。

 

背景

Git冲突的原因,一般是修改了同一个文件导致的,这个文件有可能是别人提交到远程仓库里面,还有就是需要合并这个文件导致的。

 

解决方法

  1. 你确定你需要的是哪个仓库的文件

git checkout --theirs conflicted_file.txt  # 保留远端的
git checkout --ours conflicted_file.txt # 保留本地的
 
  1. 然后执行add和commit

git add -A
git commit -m "update conflict
   

举个栗子

获取远端服务器上的文件,提示冲突了需要合并

# git cherry-pick FETCH_HEAD
* branch            refs/changes/85/12385/3 -> FETCH_HEAD
error: 'cherry-pick' is not possible because you have unmerged files.
hint: Fix them up in the work tree,
hint: and then use 'git add/rm <file>' as
hint: appropriate to mark resolution and make a commit,
hint: or use 'git commit -a'.
fatal: cherry-pick failed
 

查看当前仓库的状态

# git status
Not currently on any branch.
You are currently cherry-picking commit 53e5374.
  (fix conflicts and run "git cherry-pick --continue")
  (use "git cherry-pick --abort" to cancel the cherry-pick operation)

Unmerged paths:
  (use "git add <file>..." to mark resolution)
     both modified: file1.txt
 

用提示的命令执行

# git cherry-pick --continue

U   file1.txt

error: 'commit' is not possible because you have unmerged files.
hint: Fix them up in the work tree,
hint: and then use 'git add/rm <file>' as
hint: appropriate to mark resolution and make a commit,
hint: or use 'git commit -a'.
fatal: Exiting because of an unresolved conflict.
 

提示file1.txt有更新,确定替换为远程仓库的文件。这里用theirs

git checkout --theirs file1.txt
 

然后添加到本地仓库

git add -A
 

最后继续cherry-pick「复制」

# git cherry-pick --continue
[detached HEAD 8f26ce8] Summary : test git checkout --theirs
 Author: Rik
 2 files changed, 0 insertions(+), 0 deletions(-)
   

小结

git ckeckout 和 带参数的--ours和 --theirs还是有区别的。

    

看完上述内容是否对您有帮助呢?如果还想对相关知识有进一步的了解或阅读更多相关文章,请关注亿速云行业资讯频道,感谢您对亿速云的支持。

向AI问一下细节
推荐阅读:
  1. git命令
  2. git冲突怎么办

免责声明:本站发布的内容(图片、视频和文字)以原创、转载和分享为主,文章观点不代表本网站立场,如果涉及侵权请联系站长邮箱:is@yisu.com进行举报,并提供相关证据,一经查实,将立刻删除涉嫌侵权内容。

git
AI