相关疑难解决方法(0)

如何解决Git中的合并冲突

有没有一种很好的方法来解释如何在Git中解决合并冲突?

git git-merge merge-conflict-resolution git-merge-conflict

4600
推荐指数
27
解决办法
251万
查看次数

撤消已被推送到远程仓库的Git中的特定提交

撤消特定提交的最简单方法是:

  • 不在脑袋或头部
  • 已被推到遥控器.

因为如果它不是最新的提交,

git reset HEAD
Run Code Online (Sandbox Code Playgroud)

不起作用.而且因为它被推到了遥远的地方,

git rebase -i
Run Code Online (Sandbox Code Playgroud)

git rebase --onto
Run Code Online (Sandbox Code Playgroud)

将导致遥控器出现一些问题.

更重要的是,我不想真正修改历史.如果有错误的代码,它就在历史中可以看到.我只想在工作副本中使用它,我不介意反向合并提交.

换句话说,以下svn命令的Git等价物是什么:

svn merge -r 303:295 http://svn.example.com/repos/calc/trunk
Run Code Online (Sandbox Code Playgroud)

通过反向合并这些修订中的所有更改,将所有更改从295移除到302,作为新提交.

svn merge -c -302 ^/trunk
Run Code Online (Sandbox Code Playgroud)

当然,通过添加另一个反向合并来自相应提交的更改的提交来撤消302提交.

我认为它应该是一个相当简单的Git操作和一个相当常见的用例.原子提交还有什么意义?

我们已经举办藏起来,并要保证的提交是完全原子,你不应该能够很容易地撤销这些原子提交的一个或多个?

git version-control git-revert git-reset

743
推荐指数
4
解决办法
31万
查看次数

当git revert中止并显示错误消息时,我该怎么办?

好的,所以当我尝试恢复提交(使用Git)时,我有时会收到错误.我所做的就是

git revert <commit hash>

它给了我这样的信息:

error: could not revert <commit hash> <commit message>
hint: after resolving the conflicts, mark the corrected paths
hint: with 'git add <paths>' or 'git rm <paths>'
Run Code Online (Sandbox Code Playgroud)

这是否意味着我应该使用git mergetool并解决任何冲突?一旦我这样做,我可以添加/ rm然后提交,并恢复完成?

git commit mergetool git-revert

43
推荐指数
2
解决办法
4万
查看次数

Git还原错误消息?

在尝试恢复我对.emacs.d文件夹的存储库的提交时,我收到以下消息:

haziz@haziz> git revert 7fe3f

error: could not revert 7fe3f0b... .emacs.d contents from ubuntu hp 15
hint: after resolving the conflicts, mark the corrected paths
hint: with 'git add <paths>' or 'git rm <paths>'
hint: and commit the result with 'git commit'
Run Code Online (Sandbox Code Playgroud)

我想要做的是反转我对init.el文件所做的更改,然后执行另一个我想要撤消的提交.我更愿意还原而不是重置 - 硬,因为据我所知,后者完全删除了最近的提交.我想创建一个新的提交,以便我可以"恢复"恢复.

换句话说,我想要做的就是这个

Git Commits [A]...[B]
Run Code Online (Sandbox Code Playgroud)

将被还原为

Git Commits [A]...[B]...[A']
Run Code Online (Sandbox Code Playgroud)

难道我做错了什么?

编辑:我尝试做尽可能最好的差异/合并然后另一个提交,但它仍然给我这个新的错误消息:

haziz@haziz> git revert 7fe3f0ba3182b591f11c0b59e006dc6c990b7470

fatal: Your local changes would be overwritten by revert.
Please, commit your changes or stash them to proceed.
Run Code Online (Sandbox Code Playgroud)

如何在不诉诸.gitigore文件的情况下告诉它忽略(但不删除)未分段文件.我坦率地不关心大多数emacs临时文件等非分页文件.

git git-revert

5
推荐指数
1
解决办法
1万
查看次数