草庐IT

mro_merge

全部标签

git 恢复在 merge 期间删除的单个文件

我目前在分支“foo”中。我刚刚运行了gitmergemaster。唯一的问题是我想保留foo中的某个文件。有没有办法取回它但保留merge主机的所有其他更改? 最佳答案 尝试这样的事情:gitcheckoutHEAD--filename这会将您的文件回滚一次提交。如果您想进一步返回到特定提交,您可以使用提交哈希或将^N附加到HEAD关键字的末尾,例如HEAD^2。 关于git恢复在merge期间删除的单个文件,我们在StackOverflow上找到一个类似的问题:

git - 在 git merge commit 中列出所有修改过的文件——即使是快进的

我在想,当我将一个分支merge到另一个分支时,是否有一种方法可以在我的提交消息中列出所有更改的文件,而不仅仅是在两个分支中修改的文件。这将使我仅通过查看merge提交就可以更好地了解分支中更改的内容。有办法做到这一点吗? 最佳答案 我不知道如何在提交消息中做到这一点。但是在merge之后,这将给出受merge提交影响的所有文件的名称:gitlog-m--name-only仅用于提交的文件名列表:gitlog-m-1--name-only--pretty="format:"由于merge有两个父级,因此有一些空白,但可以轻松删除。

git - Visual Studio 2015 如何将分支 merge 到 master 中?

我是GIT的新手,到目前为止,我一直在使用VisualStudioOnlineTFS进行版本控制,而且我是唯一开发人员。当我创建我的最后一个项目时,我误以为GIT是最好的选择。所以我登记了我的主人。然后,当我要处理一个功能时,我读到我必须创建一个分支(这在TFS中不是必需的)所以我创建了“development_print”作为一个新分支并处理我的功能。现在我的功能已经完成,但我不知道如何将它merge回master。我目前对多个分支不感兴趣,只想将我的新功能merge到master中并保留在master中。在VS中有一个mergebranch选项,但它只允许我merge到develo

git - 不小心从错误的分支分支出来,当我想 merge 到主分支时,我必须 merge 两个分支

所以我从我已经创建的另一个分支创建了一个分支,现在当我尝试将分支merge到master时,我遇到了必须merge两个分支的情况。这是一张图Master->->Branch1->Branch2我希望能够仅将分支2上的更改merge到master上,而不必merge分支1上的更改(如果有意义的话)。我查看了重置和还原,但似乎这些东西会删除我对分支2所做的所有更改。有什么想法吗?谢谢 最佳答案 使用以下语法尝试gitrebase--onto:将branch2的更改放到master上而不包含branch1的更改gitrebase--ont

git - 为什么 git merge 有时会创建一个提交,有时不会?

当我从另一个分支执行gitmerge到当前工作区时,git有时会进行新的提交:Mergeremote-trackingbranchxxxintoxxx有时,它不会:Fast-forward...srcfiles...那么什么决定是否应该创建提交? 最佳答案 所谓的“快进”merge不会产生提交,而其他merge(通常称为“Octopusmerge”(现在你明白为什么github的吉祥物是Octopus了))产生提交。基本上,当您的分支没有发散时,就会发生快进。假设你想在master分支中merge一个分支foo。如果这些分支没有分歧

git merge 重命名的文件

我有一个大型网站,我正在将其迁移到一个新框架并在此过程中添加git。当前站点没有任何版本控制。我首先将站点复制到一个新的git存储库中。我创建了一个新分支并进行了所有需要的更改以使其与新框架一起工作。其中一个步骤是更改所有页面的文件扩展名。现在,在我处理新站点期间,已对旧站点上的文件进行了更改。所以我切换到master并复制了所有这些更改。问题是当我将分支与新框架merge回master时,在master分支上更改的每个文件都会发生冲突。我不会太担心,但是有几百个文件发生了变化。我已经尝试过gitrebase和gitrebase--merge但没有成功。如何在不处理每个文件的情况下me

git - 在两个单独的文件上运行 git merge 算法

我想在git存储库中的两个任意文件上利用git-merge算法。这是我的工作目录:folder/file1file2file1和file2很相似,但我想看看git如何merge它们,就好像它们是同一文件的不同版本一样。换句话说,我想要这样的东西:gitmerge-filesfile1file2>merge_of_file1_file2有办法吗? 最佳答案 这真的没有意义,因为您没有提供共同的祖先。但是,如果您有一个,则可以使用:gitmerge-file这会将结果放在当前版本文件中;如果你想在别处使用它们,请使用:gitmerge-

windows - 为什么我不能在 Windows 上使用 TortoiseMerge 作为我的 git merge 工具?

我正在尝试执行我的第一次Gitmerge(令人兴奋!),但无法让GitGui(来自Git1.7.4.msysgit.0的0.13.GITGUI)识别TortoiseMerge(1.6.11.20210x64)Windows7。基于ananswertoasimilarquestion,我进行了以下配置更改:$gitconfig--globalmerge.tooltortoisemerge$gitconfig--globalmergetool.tortoisemerge.cmd'TortoiseMerge.exe-base:"$BASE"-mine:"$LOCAL"-theirs:"$RE

Git:在 merge 过程中忽略一些文件(将一些文件限制在一个分支中)

我有两个分支,A和B。分支A有一个目录examples,其中包含一些被git跟踪的文件,这些文件应该不出现在分支B。在我的工作流程中,我确实经常将A中的更改merge到B中,每当examples发生一些更改时,这都是一个问题。目前,我手动执行此操作:在merge后删除文件或在我已经删除的文件发生更改时解决冲突。是否可以在merge过程中忽略这些文件?(或者是否可以将一些文件限制在一个分支(A)或远离一个分支(B)?)让我试着解释一下我为什么这样做:A是博客的骨架(模板、脚本等),B是我的博客(A填充了我自己的帖子、图片、草稿等)。A是公开的,我试图让它对其他人看起来和使用它是通用的,但

git rebase 交互式 : squash merge commits together

我想要一个简单的解决方案来在交互式rebase期间将两个merge提交压缩在一起。我的仓库看起来像:X---Y---------M1--------M2(my-feature)//////a---b---c---d---e---f(stable)也就是说,我有一个my-feature分支,最近merge了两次,中间没有真正的提交。我不只是想重新设置my-feature分支,因为它是自己的已发布分支,我只是想将最后两个merge提交merge为一个(尚未发布这些提交还)X---Y----M(my-feature)////a---...--f(stable)我试过:gitrebase-p-