首页 > 其他分享 >git how to fix conflict(git中解决冲突问题)

git how to fix conflict(git中解决冲突问题)

时间:2024-07-22 21:25:13浏览次数:11  
标签:reset git log -- fix how 提交 版本

git 发生conflict时应该怎么办?
这里列举了三个方案,但是都有其劣势,斟酌之后再决定如何处理。

  • 修改冲突文件并合并
  • 退回到之前版本
  • 强制拉取覆盖当前版本

修改冲突文件

这个方法是比较常见的方法,且冲突文件不多时修改的文件相对较少。

  1. 查看当前git状态和冲突文件
git status
  1. 修改有冲突的文件
    打开文件会看到如下内容:
Main branch change
<<<<<<< HEAD
=======
Feature branch change
>>>>>>> feature-branch
  1. 添加到暂存区并合并推送
git add .
git commit -m 'fix conflict'
git push origin master

退回之前版本

查看历史版本

  1. 查看之前的版本
    git log可以查看仓库中的所有提交记录。包括提交的哈希值、作者、日期和提交消息。
git log
  1. 简洁的提交历史
git log --oneline
  1. 查看提交历史的图形化表示
git log --graph --oneline --decorate --all
  • --graph:以图形化方式显示提交历史。
  • --decorate:显示分支和标签的信息。
  • --all:显示所有分支的提交记录。
  1. 查看特定文件的提交历史
    要查看特定文件的提交历史,可以在 git log 命令后加上文件名:
git log -- <file>

退回之前版本

退回历史版本使用git reset

  • git reset --soft <commit-hash>:回退到指定的提交,但保留工作目录的更改。
  • git reset --mixed <commit-hash>:回退到指定的提交,保留工作目录的更改,但取消暂存区的更改(默认)。
  • git reset --hard <commit-hash>:回退到指定的提交,丢弃工作目录中的所有更改。

<commit-hash>位置填哈希值

git reset --mixed <commit-hash>

强制推送到远程仓库

注意:这里强制推送到远程仓库会导致仓库变更;如果是多作者协同编写的仓库时,应当把消息同步。

git push origin master --force

强制拉取

注意:这里强制拉取会导致所有未提交至仓库的代码丢失

  1. 重置本地分支以匹配远程分支:
git fetch origin
  1. 重置本地分支:
git reset --hard origin/master
  1. 强制拉取远程仓库的最新版本并覆盖本地更改
git pull origin master --force

标签:reset,git,log,--,fix,how,提交,版本
From: https://blog.csdn.net/qq_46672668/article/details/140581556

相关文章

  • 通过 Docker 部署 Gitlab
    通过docker安装一个gitlab没啥难度。按照的官方手册一溜烟跑下来,感觉比用rpm包装都容易很多。在此作下简单的记录运行gitlab容器#构建docker数据挂载目录mkdir-p/data/gitlab运行如下脚本#!/bin/bashGITLAB_HOME=/data/gitlabsudodockerrun-d\-p443......
  • git学习
    4种文件状态命令行gitcommit-m"第一次提交"通过通配符add部分文件: gitadd*.txtadd当前目录文件: gitadd.查看仓库状态: gitstatus查看提交记录: gitloggitlog--oneline查看修改记录(提交后和未提交的差异): gitdiff(两个提交Id)添加两个提交Id可以比较两个版......
  • 在linux上操作实现git github vscode的联动工作流(待更新)
    目录一、介绍与要求二、git和github联动2.1git与github的连接2.2git的操作三、vscode与git的方便操作(待更新)总结一、介绍与要求介绍:我刚刚改到linux系统(ubuntu22.04)上进行学习和工作,深感到linux的方便快捷,于是想在此记录以下git和github的学习过程,也权当备忘录。......
  • 当 python 脚本通过 jenkins + Github 在 Windows 本地计算机上运行时,chrome 浏览器不
    我的Python代码是(windowsMachine)fromseleniumimportwebdriverprint("newLine")print("2Line")print("3Line")holdChrome=webdriver.ChromeOptions()holdChrome.add_experimental_option("detach",True)#Restricta......
  • git 常用命令
    gitk      //查看基线gitstatus     //查看当前版本状态gitbranch  //查看本地所有分支gitbranch-a       //查看所有分支gitbranch-r      //查看远程所有分支gitcommit -m"xx需求"      //......
  • 【译】用 GitHub Copilot 提交注释揭开历史的神秘面纱
    您是否曾经难以理解一个提交在做什么或者为什么要做?在审查或协作代码更改时,您是否希望有更多的清晰度和上下文?如果您的回答是肯定的,那么您会喜欢GitHubCopilot为您所做的——生成提交注释。GitHubCopilot可以分析您的代码差异,并生成简洁的总结,突出重点。没有更多的猜测......
  • Git使用教程
    目录错误1:路径名或者变量有空格时候,会造成参数太多的错误提示错误2:GitBash中的路径切换为正斜杠"/",而不是Windows中的反斜杠"\"Tips:常见Git命令行错误1:路径名或者变量有空格时候,会造成参数太多的错误提示解决方案:使用双引号将带有空格的部分括住错误2:GitBash......
  • pytest框架之fixture
    1.在进行接口关联时,一般很多个接口共用一个上行接口(例如)登录,可以使用fixture定义一个测试夹具,将登录的接口写在框架的conftest.py文件中:@pytest.fixture(scope="session")deflogin_fixture():keyword=Keyword()url="http://xxxxxxxxxxx/s=api/user/login"pu......
  • 解决: Cannot load information for github.com
    问题在共享项目至idea时候出现:IamgettingthiserrorwhilesharingonGithHubinIntellijeIDEA:Cannotloadinformationforgithub.com/:Requestresponse:Accesstothissitehasbeenrestricted.Ifyoubelievethisisanerror,pleasecontacthttps://suppor......
  • [email protected]: Permission denied (publickey). fatal: Could not read from remote
    遇到 [email protected]:Permissiondenied(publickey). 这个错误通常意味着你的SSH密钥没有被GitHub识别或配置不正确。这里有几个步骤可以帮助你解决这个问题:1.检查SSH密钥是否已添加到GitHub查看你的SSH密钥:在本地机器上,你可以使用 ssh-keygen-l-Emd5-f~/.ssh/id_r......