Git提交解决冲突

这篇具有很好参考价值的文章主要介绍了Git提交解决冲突。希望对大家有所帮助。如果存在错误或未考虑完全的地方,请大家不吝赐教,您也可以点击"举报违法"按钮提交疑问。

一、git命令在提交代码前,没有pull拉最新的代码,因此再次提交出现了冲突

Git提交解决冲突

解决方法如下两种:

1.保留你本地的修改

git merge --abort
git reset --merge
合并后记得一定要提交这个本地的合并(add–>commit–>push–>pull)
然后在获取线上仓库:
git pull

2.down下线上代码版本,抛弃本地的修改

不建议这样做,但是如果你本地修改不大,或者自己有一份备份留存,可以直接用线上最新版本覆盖到本地
git fetch --all
git reset --hard origin/master
git fetch

二、从git远程仓库中pull最新的代码,出现如下错误:Please commit your changes or stash them before you merge.

Git提交解决冲突

解决方法如下:

git stash 可用来暂存当前正在进行的工作, 比如想pull 最新代码, 又不想加新commit, 或者另外一种情况,为了fix 一个紧急的bug, 先stash, 使返回到自己上一个commit, 改完bug之后再stash pop, 继续原来的工作。

  1. git stash //暂存代码
  2. git pull 分支名//从远程仓库拉取最新代码
  3. git stash pop //合并代码到本地仓库 此时代码是将暂存的代码和远程仓库的代码合并,如下图:
    Git提交解决冲突
  4. 这时候需要手动修改合并所需的代码即可。
  5. git stash clear//需要清空git栈执行该命令

git stash: 备份当前的工作区的内容,从最近的一次提交中读取相关内容,让工作区保证和上次提交的内容一致。同时,将当前的工作区内容保存到Git栈中。
git stash pop: 从Git栈中读取最近一次保存的内容,恢复工作区的相关内容。由于可能存在多个Stash的内容,所以用栈来管理,pop会从最近的一个stash中读取内容并恢复。
git stash list: 显示Git栈内的所有备份,可以利用这个列表来决定从那个地方恢复。
git stash clear: 清空Git栈。此时使用gitg等图形化工具会发现,原来stash的哪些节点都消失了

三、git push 报错,如下:

Git提交解决冲突
解决命令:git pull --rebase origin 你的分支名称,如下图所示Git提交解决冲突
再次执行push命令:如下图所示:
Git提交解决冲突

四、git push 还会报下面的错(如图所示):这多是多人开发有了冲突。

hint: Updates were rejected because the remote contains work that you do
hint: not have locally. This is usually caused by another repository pushing
hint: to the same ref. You may want to first integrate the remote changes
hint: (e.g., ‘git pull …’) before pushing again.
hint: See the ‘Note about fast-forwards’ in ‘git push --help’ for details.

Git提交解决冲突

解决命令如下:

git push -u 代码所在的分支 -f //强制提交,此时远程上的修改已经被覆盖。这种方法一般不建议使用,除非你把远程上修改的代码复制到本地。

五、本地回退历史版本,当提交代码发生冲突或者想回退到某一个版本,操作如下:

  1. git log (获取提交的历史日志)
    Git提交解决冲突

  2. 执行命令:git reset --hard 版本号(就是git log 中的 commit后面的哈希值(上图中的黄色部分 commit 后面的值))

  3. 想要修改远程上的代码还需要执行如下命令:
    git push -u 代码所在的分支 -f //强制提交,此时远程上的修改已经被覆盖。这种方法一般不建议使用,除非你把远程上修改的代码复制到本地。

git merge --abort的一种使用情况

该命令仅仅在合并后导致冲突时才使用。git merge --abort将会抛弃合并过程并且尝试重建合并前的状态。但是,当合并开始时如果存在未commit的文件,git merge --abort在某些情况下将无法重现合并前的状态。(特别是这些未commit的文件在合并的过程中将会被修改时)

警告:运行git-merge时含有大量的未commit文件很容易让你陷入困境,这将使你在冲突中难以回退。因此非常不鼓励在使用git-merge时存在未commit的文件,建议使用git-stash命令将这些未commit文件暂存起来,并在解决冲突以后使用git stash pop把这些未commit文件还原出来。文章来源地址https://www.toymoban.com/news/detail-421029.html

到了这里,关于Git提交解决冲突的文章就介绍完了。如果您还想了解更多内容,请在右上角搜索TOY模板网以前的文章或继续浏览下面的相关文章,希望大家以后多多支持TOY模板网!

本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如若转载,请注明出处: 如若内容造成侵权/违法违规/事实不符,请点击违法举报进行投诉反馈,一经查实,立即删除!

领支付宝红包 赞助服务器费用

相关文章

  • git提交代码冲突

    用idea2023中的git提交代码,出现 error: Your local changes to the following files would be overwritten by merge: ****/****/****/init.lua Please commit your changes or stash them before you merge. Aborting 出现这个错误可能是因为你的本地修改与远程仓库中的内容发生了冲突。即使你删除了 init.lua 中的修改,Git仍然

    2024年02月20日
    浏览(39)
  • 代码仓库必知:git忽略文件规则。问题解决: gitignore文件没有忽略某个文件,就是提交不了

    问题背景 假设我的文件叫a.tsx,在 git status 时检测不到它的改动记录,并且 git commit 不了! 强制推才可以。这样会影响开发进度,因为我们经常需要提交代码,但是不一定记得强推,这样代码就会丢失。只在本地可以运行,远程仓库并没有。 在VSCode 编辑器的左侧文件栏中,

    2024年02月10日
    浏览(61)
  • git使用常见问题(提交代码,合并冲突)

    git fetch 获取远程分支更新 git branch 查看本地分支 git branch -r 查看远程分支 git branch -a 查看所有分支(本地分支和远程分支) git clone 地址 克隆代码 git checkout 切换分支 git pull 同步到本地(拉) git push 推送至服务器 git checkout -b dev origin/master 基于主分支创建dev分支 git add . 添加

    2024年02月03日
    浏览(77)
  • Git提交解决冲突

    解决方法如下两种: 1.保留你本地的修改 git merge --abort git reset --merge 合并后记得一定要提交这个本地的合并(add–commit–push–pull) 然后在获取线上仓库: git pull 2.down下线上代码版本,抛弃本地的修改 不建议这样做,但是如果你本地修改不大,或者自己有一份备份留存,可以直接

    2023年04月22日
    浏览(38)
  • 【解决Git提交冲突的方法】

    在多人协作的项目中,经常会遇到提交冲突的情况。当多个开发者同时修改了同一个文件的相同部分时,Git会提示提交冲突。下面是解决提交冲突的方法: 1. 理解冲突 当提交冲突发生时,首先要理解冲突发生的原因。查看冲突的文件,Git会在文件中标记出发生冲突的部分,

    2024年02月05日
    浏览(60)
  • git必备知识 git使用常见问题(提交代码,合并冲突)

    git fetch 获取远程分支更新 git branch 查看本地分支 git branch -r 查看远程分支 git branch -a 查看所有分支(本地分支和远程分支) git clone 地址 克隆代码 git checkout 切换分支 git pull 同步到本地(拉) git push 推送至服务器 git checkout -b dev origin/master 基于主分支创建dev分支 git add . 添加

    2024年02月16日
    浏览(57)
  • Git 代码提交到远程主分支后发生冲突或者覆盖

    在提交代码的时候,有两个人,比如叫A与B,现在A从远程主分支master拉了代码到自己本地,本地电脑形成local A与local B分支,然后写了自己的需求代码commit并推送到远程仓库,形成自己的origin A与origin B,然后两个人进行合并请求merge request,请求merge后,master主分支里代码少了

    2024年02月07日
    浏览(68)
  • git的拉取、提交、合并、解决冲突详细教程

    我们在开发中使用git,经常会遇到拉代码,切换分支,提交代码,新建分支,合并代码,解决冲突这些操作,下面我跟大家分享一个好用的git工具来进行这些操作。 首先,我们下载一个git工具 点击下载GitHub Desktop 1.拉取git代码 复制git地址 打开工具,点击右上角的File,点击

    2024年02月02日
    浏览(50)
  • 使用git时候提交时候发生冲突,你能解释冲突如何产生,你是如何解决的

    Git冲突情况举例: 简单来说就是本地修改的文件和目标远程库的同一个文件都有修改。这时无论是pull/push/merge时都会产生冲突。 1、不同分支下的merge 比如在不同分支下进行分支合并时,我们在本地修改了a文件并把a文件的修改push到了test分支下,接着我们切换到master分支下将

    2024年02月08日
    浏览(53)
  • 【Git】Git 操作命令可视化(五):git clone、git fetch、git pull、git push、git pull --rebase、解决远程仓库与本地仓库的代码冲突

    1. git clone main是本地的main分支,o(origin)/main是表示本地拉去下来的远程的main分支 o/main分支记录了远程仓库拉取时的分支状态 远程分支有一个特别的属性,在你切换到远程分支时,git会自动进入分离 HEAD 状态(这样做是因为git不想让你在本地就能直接进行修改远程仓库代码的

    2024年02月08日
    浏览(87)

觉得文章有用就打赏一下文章作者

支付宝扫一扫打赏

博客赞助

微信扫一扫打赏

请作者喝杯咖啡吧~博客赞助

支付宝扫一扫领取红包,优惠每天领

二维码1

领取红包

二维码2

领红包