多人开发的项目,使用git时,会有冲突的存在的情况

1.1  如果不小心commit了一个不需要commit的文件,可以对其进行撤销。

git add .
git commit -m'测试'

git push 推送不上去,提示有冲突

使用命令 git reset --mixed HEAD~2 ,回退到第一步,将步骤2取消掉,步骤3的文件将会撤销,变成等待添加,但不会丢失,我们只需要在add一次即可。

此时先回退之前的修改(记得备份),再 git pull 拉取最新代码,加上自己的修改再次提交即可

例如:假设有三个commit, git st:

commit3: add test3.c

commit2: add test2.c

commit1: add test1.c

当执行git revert HEAD~1时, commit2被撤销了

1.2  另一种方式

可以继续操作git push

重新再次执行 git add .

git commit -m'测试'

git push

命令后,此时查看文件修改,会看到有冲突的某一文件,这时,查看修改是否正确,决定采用哪次修改


关于git reset命令,包括 --mixed,--soft --hard等,其中--mixed为默认方式,他们之间的区别如下

git reset –mixed:此为默认方式,不带任何参数的git reset,即时这种方式,它回退到某个版本,只保留源码,回退commit和index信息
git reset –soft:回退到某个版本,只回退了commit的信息,不会恢复到index file一级。如果还要提交,直接commit即可
git reset –hard:彻底回退到某个版本,本地的源码也会变为上一个版本的内容
git reset -soft :取消了commit
git reset -mixed(默认) :取消了commit ,取消了add
git reset -hard :取消了commit ,取消了add,取消源文件修改

git revert和git reset的区别:

git revert 是撤销某次操作,此次操作之前的commit都会被保留

git reset 是撤销某次提交,但是此次之后的修改都会被退回到暂存区

Git 撤销已提交的文件相关推荐

  1. git 删除 已提交的 文件

    如果不想要的文件夹提交到了GIT 这时想要删除相关的文件则可以使用以下命令 删除 target 文件夹 git rm -r target git commit -m "删除文件" ...

  2. 将.gitignore应用于已提交的文件

    本文翻译自:Applying .gitignore to committed files I have committed loads of files that I now want to igno ...

  3. git更改已提交作者用户名

    git更改已提交作者用户名 官网地址 配置作者用户名 为当前本地库单独配置作者信息 git config -f .git/config user.name "name" git c ...

  4. git 撤销未提交的修改

    checkout 恢复某个已修改的文件(撤销未提交的修改): $ git checkout file-name revert 还原已提交的修改(已经提交过的修改,可以反悔-) 还原最近一次提交的修改: ...

  5. git 撤销修改以及删除文件(亲测最后一个删除后还原)

    撤销修改 1.如果当你修改了代码,然后又发现修改错误以后,想撤销前面的操作的时候该怎么办呢? 既然错误发现得很及时,就可以很容易地纠正它.你可以删掉最后一行,手动把文件恢复到上一个版本的状态.如果用 ...

  6. Git 删除已经提交的文件(Delete commits from a branch in Git)

    运用场景 我提交了一个文件到github 的服务器上,并且已经点击了commit, 这个时候,因为文件最大不能超过100MB 所以在push 的时候出现了错误. 所以当我们误提交一个文件的时候,我们这 ...

  7. git修改已提交记录的注释

    已提交暂存区但还未提交远端仓库 命令:git commit --amend -m 已提交远端仓库 命令:git rebase 可以参考:http://www.cnblogs.com/dudu/p/47 ...

  8. Git修改已提交的commit

    1 本地修改 由于以下修改本身是对版本历史的修改,在需要push到远程仓库时,往往是不成功的,只能强行push,这样会出现的一个问题就是,如果你是push到多人协作的远程仓库中,会对其他人的远程操作构 ...

  9. git修改已提交commit的Author信息

    在 git 中可以通过 git commit --amend 来修改最近一个已提交 commit 的 Author 信息,使用如下: git commit --amend --author " ...

最新文章

  1. 软件中的易用性设计及测试(三)之实践
  2. 谷歌教机器人理解语义,像人一样学习复杂技能 | 附3篇论文
  3. delphi 回调函数
  4. python中等高线填充颜色_Python matplotlib使用colormap更改contourf plot中指定值的颜色...
  5. redis源码之sds
  6. 「后端小伙伴来学前端了」CSS3伪元素选择器 ::before ::after | 记录自己的前端学习日子
  7. POJ--3974 Palindrome(回文串,hash)
  8. 速览EMNLP 2020上录取的知识图谱相关论文
  9. 又一起!北大副校长詹启敏院士被疑25篇论文造假
  10. java里有位移吗_Java 中位移运算符 ,,
  11. TypeError:Can't instantiate abstract class Ultraman with abstract methods sttack 报错
  12. 数据结构:堆栈的区别
  13. ubuntu linux 从入门到精通.pdf,UBUNTU LINUX从入门到精通(附DVD)
  14. ArcGis for JavaScript 4.23版本接入国家天地矢量地图
  15. label_studio自动预标注功能
  16. android 电池(一):锂电池基本原理篇 .
  17. oracle pl sql面试题,Oracle 面试题库—PL/SQL
  18. 【Elasticsearch】bulk的使用
  19. Android APP架构设计——MVP的使用示例
  20. elasticsearch ik分词实现 中文、拼音、同义词搜索

热门文章

  1. 在C/C++中常用的符号
  2. 全局zomm缩放后echarts鼠标偏移的问题(鼠标触发提示框位置有偏差)
  3. 计算机端口com1,访问端口“COM1”被拒绝(Access to the port “COM1” is denied)
  4. 阿里云域名证书免费认证教程
  5. yolov5 训练结果解析
  6. 驱动学习(十)poll机制
  7. mysql 的 虚拟表(DUAL)的介绍及使用场景---条件插入insert
  8. win10系统解决office16的VBE6EXT.OLB不能被加载的问题
  9. IDEA mybatis XML文件格式化问题
  10. Kali Linux中无法使用pip的解决方法