我已合并master到我的bugXY分支,并需要合并文件.但是git mergetool失败了(我的noob错误,我猜),即使我中止合并,它给我留下了一个脏的工作目录,但不需要合并状态.我想重复merge命令,但我不能因为合并留下一些新文件.
如何撤消合并(我没有提交任何内容)并从之前获取完整的工作目录?
我做了什么:
> git checkout bugXY
On branch "bugXY" - nothing to commit
> git merge master
[modifying and adding lots of files]
one file with conflict
On branch "bugXY|MERGING"
> git mergetool
You could use a, b or c
merged // didn't work, no GUI appeared and I did not do anything
do you want to remove, commit or abort?
> abort // Hu, what happened?
On branch "bugXY" // no …Run Code Online (Sandbox Code Playgroud) 在git merge冲突期间,我创建了一个名为'e -abort'的文件
我试图删除该文件:
$ rm ./e --abort
得到这个:
rm:无法识别的选项`--abort'
还尝试过:
$ git rm - e --abort
得到了:
致命的:pathspec'e'与任何文件都不匹配
因为破折号不在起点,这对我不起作用
我的存储库有一个master和dev分支。
在这个时候,我希望合并dev与master,或更好,而不是合并,而是彻底更换内容的的master与分支dev。
有可能吗,你将如何使用 git 命令来做到这一点?
我正在使用Objective-Git.我无法使用以下方法:
- (GTIndex *)merge:(GTTree *)otherTree ancestor:(GTTree *)ancestorTree error:(NSError **)error
Run Code Online (Sandbox Code Playgroud)
没有返回错误,但返回的索引为空,当它存在时,所有属性都为零.合并操作不会发生,我无法写出树,因为我无法获得尝试合并产生的索引.
有没有人设法使用目标git成功执行合并 - 如何?救命!
GTBranch *branch1 = branches[0];
GTCommit *commit1 = [branch1 targetCommitAndReturnError:NULL];
GTOID *oid1 = commit1.OID;
GTTree *tree1 = commit1.tree;
GTBranch *branch2 = branches[1];
GTCommit *commit2 = [branch2 targetCommitAndReturnError:NULL];
GTTree *tree2 = commit2.tree;
GTOID *oid2 = commit2.OID;
GTRepository *repo = branch1.repository;
NSError *error;
GTCommit *ancestor = [repo mergeBaseBetweenFirstOID:oid1 secondOID:oid2 error:&error];
if (error){
NSLog(@"%@", error.description);
}
GTTree *ancTree = ancestor.tree;
NSError *someError;
NSLog(@"attempting merge into ""%@"" from ""%@"" with ancestor ""%@""", …Run Code Online (Sandbox Code Playgroud) 我正在进行获取/合并,并想知道做之间是否有任何区别
git fetch
Run Code Online (Sandbox Code Playgroud)
和
git fetch origin master
Run Code Online (Sandbox Code Playgroud)
我remote repository在GitHub上没有任何其他分支和原点.
当我做:
git fetch origin master
remote: Counting objects: 4, done.
remote: Compressing objects: 100% (2/2), done.
remote: Total 3 (delta 1), reused 0 (delta 0)
Unpacking objects: 100% (3/3), done.
From github.com:XXXXXXXXXXXXXXX
* branch master -> FETCH_HEAD
Run Code Online (Sandbox Code Playgroud)
只是:
git fetch
From github.com:XXXXXXXXXXXXXXX
531d466..aaf6df0 master -> origin/master
Run Code Online (Sandbox Code Playgroud)
请注意,主人指向不同的东西; 在一个案例FETCH_HEAD和其他情况下,origin/master?他们不一样吗?
考虑的分支位于已发布的存储库服务器中.
考虑一个分支A,它包含一组从中创建分支B的提交.额外提交被添加到分支B(假设它们处于活动开发中)此时,将向分支A添加提交.
现在,分支A在分支B后面,让我们说10次提交,而分支B在分支A后面通过一次提交.
现在这两个分支无法合并,因为它们至少只有一个提交就可以了.为了使所有内容保持同步,如何合并分支A和B?
我们已经在git中与dev分支合作了很长时间.我们所有的代码都是dev分支的最新代码.然而,主分支非常过时.我们希望将dev分支合并回主分支以使其更新.
但是,当我们尝试将dev合并回master时,我们会遇到超过24,000个冲突.我知道疯了!主分支中的所有代码都已过期.理想情况下,我们希望将所有内容都放在dev中并覆盖master中的内容.
有没有办法将dev合并为master并让它从dev获取所有最新代码并覆盖所有冲突以确保采用dev文件?我们不需要保留master分支中的任何代码,因为它已经过时了.当我们想要的只是采用开发分支代码时,手动完成所有冲突将是非常困难的.
我们需要将其推向所有队友的原点.
当我尝试以交互方式将几个提交重新绑定(压缩)为一个时,它只会压缩最后两个提交,所以我最终不得不多次进行压缩.
我正在使用源代码树,但我尝试从控制台执行此操作并获得相同的结果.有任何想法吗?
我该如何去更新已检出的分支,并使用已更新的分支(在本地分支从dev分支出来之后,合并了一些拉取请求)develop分支?目前,如果我branch_1正在进行未提交/已提交/已推送的更改,则可以执行
git checkout develop
git pull
git checkout branch_1
git merge develop
Run Code Online (Sandbox Code Playgroud)
有没有一种方法可以减少我实现的目标?
我有一个Git仓库,在不同分支上有多个项目
我想将它们分解为不同的独立存储库。我已经为每个仓库创建了新的仓库。我希望每个分支及其所有提交历史记录都移到新的单独存储库中。
git ×10
git-merge ×10
git-rebase ×2
git-fetch ×1
git-pull ×1
git-push ×1
git-remote ×1
libgit2 ×1
merge ×1
objective-c ×1
reset ×1