git 提交 作者 可以修改吗
Posted
tags:
篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了git 提交 作者 可以修改吗相关的知识,希望对你有一定的参考价值。
参考技术A 工具/原料Git
Linux
方法/步骤
首先,我们可以用“git log”查看本地提交,本文中对最近的两次提交进行修改。
2
我们可以利用”git rebase -i HEAD^^“命令修改最近的两次提交。当然,命令”git rebase -i“的最后一个参数视具体情况而定,如修改最近的三次提交,则应该改为HEAD^^^,此参数也可以用commid ID值代替。
3
进入编辑状态。我们将需要修改的提交前对应的"Pick"命令改为"edit"命令(简写为"e"),保存退出,便可以修改相应提交的内容了。本回答被提问者采纳
git pull会把本地未提交修改覆盖吗?
git pull会把本地未提交修改覆盖。
处理的方式非常简单,主要是使用git stash命令进行处理,分成以下几个步骤进行处理。
1、先将本地修改存储起来
$ git stash
这样本地的所有修改就都被暂时存储起来 。是用git stash list可以看到保存的信息:
git stash暂存修改
其中stash@0就是刚才保存的标记。
2、pull内容
暂存了本地修改之后,就可以pull了。
$ git pull
3、还原暂存的内容
$ git stash pop stash@0
系统提示如下类似的信息:
Auto-merging c/environ.c
CONFLICT (content): Merge conflict in c/environ.c
意思就是系统自动合并修改的内容,但是其中有冲突,需要解决其中的冲突。
4、解决文件中冲突的的部分
打开冲突的文件,会看到类似如下的内容:
git冲突内容
其中Updated upstream 和=====之间的内容就是pull下来的内容,====和stashed changes之间的内容就是本地修改的内容。碰到这种情况,git也不知道哪行内容是需要的,所以要自行确定需要的内容。
解决完成之后,就可以正常的提交了。
参考技术A 分两种情况:1无冲突,2有冲突无冲突时,本地未提交修改不会被覆盖,能够执行pull。
有冲突时,提示“Your local changes to the following files would be overwritten by merge”,本次pull执行失败,并且不会拉取远程代码,不用担心。 参考技术B
没有 add 的文件,不会被覆盖。add 了文件没有 commit,不能 pull。commit 了之后 pull 有冲突,会自行解决或者提示需要编辑。只要 commit 过,都可以用 git reflog 找回。
git库版本与本地库版本冲突:个人定义为就是git库版本与本地库版本不匹配,详细地说就是我们从git库clone克隆下来的版本,经过修改后提交并合并成新版本,但是后来又将git库的该版本撤销了,而本地没有撤销该版本,此时就是本地库拥有此版本而git库中没有此版本。这样在使用git pull或git pull origin master可能会出现:“Your local changes to the following files would be overwritten by merge”或"PULL 不可用,因为您尚有未合并的文件“或"自动合并失败,修正冲突后提交修正后的结果"“Your local changes to the following files would be overwritten by merge”这样的错误,意思就是你的本地修改以下文件将被覆盖合并。
以上是关于git 提交 作者 可以修改吗的主要内容,如果未能解决你的问题,请参考以下文章