从另一个repo git合并

时间:2016-08-08 10:49:11

标签: git github

我从git克隆了一个项目,我做了一些更改,现在我想导入原始repo上的更改并同时保留我的更改! 我添加了一个新遥控器:

Option Explicit Sub InvestorReport() Dim investorname As String Dim finalrow As Integer Dim i As Integer 'row counter Sheets("Sheet1").Range("D6:K50").ClearContents investorname = Sheets("Sheet1").Range("B3").Value finalrow = Sheets("Investments").Range("I1000").End(xlUp).Row For i = 2 To finalrow If Sheets("Investments").Cells(i, 1) = investorname Then MsgBox ("Works") Range(Cells(i, 2), Cells(i, 12)).Copy Sheets("Sheet1").Range("D100").End(xlUp).Offset(1, 0).PasteSpecial End If Next i Range("B3").Select End Sub

git add remote original_repo

git fetch original_repo

问题出在我做的时候: git checkout -b branch_for_merge original_repo/master

我无法找到更改的文件,它给了我:

git status

如何查找更改并解决冲突并合并分支?

2 个答案:

答案 0 :(得分:2)

  

git checkout -b branch_for_merge original_repo/master

这使branch_for_merge指向与original_repo/master相同的提交,完全没有意义。

您要做的是(假设您在本地master分支机构开展工作):

git checkout master    # just to be sure
git pull original_repo master

这将从original_repo获取所有更改(因为您自己已经这样做了,所以没有操作),然后为您执行git merge original_repo/master。与git fetch ; git merge original/repo_master相比,唯一的好处是更有帮助的提交消息(当然可以编辑)。

答案 1 :(得分:1)

您可以执行类似

的操作
`git fetch`

上面的说明将转到远程存储库,并将其中的任何内容复制并存储在您在本地计算机上为远程存储库提供的任何名称(例如origin / ...)。请记住,此时您的本地存储库不会与远程存储库的本地副本合并。

`git checkout <branch>`

上述说明会将分支更改为<branch>中指定的分支。

`git rebase <remote>/<branch>`

现在,当您使用选定的<branch>时,此说明将采用<branch>上的任何内容并在<remote>/<branch>之上回复。

或者,您可以运行

`git merge <remote>/<branch>`

这将进行合并提交,并使您的<branch><remote>/<branch>

保持同步