【发布时间】:2019-02-05 05:28:01
【问题描述】:
[编辑:根据初始反馈修改问题]
我的电脑上有一个本地 git 存储库,我一直在提交自己的更改,我一直在开发一个 master 分支。
现在,我需要让另一个开发人员加入,我将使用“捆绑”方法以“离线”方式进行协作(请参阅:Workflow and setup of a bare git repository for transferring project/changes/commits to offline repository on a seperate machine?)。
所以,我创建了一个这样的包:
cd myrepo
git bundle create repo.bundle HEAD master
并将其交给开发人员。反过来,他创建了 repo 并创建了自己的分支 master-other:
git clone repo.bundle newrepo
git branch master-other
git checkout master-other
他做了一些修改并提交了。 现在,假设我想将他的模组导入回给我。以下命令可以正常工作:
git bundle create new_commits.bundle master-other ^ffffff
现在我不确定在创建原始包的第一台机器上我想要什么。
我要导入他的更改吗:
git pull new_commits.bundle master-other
这个命令会产生这样的情况:
* aaaaaaa (HEAD -> master) Merge branch 'master-other' of new_commits.bundle
|\
| * bbbbbbb commit by other person 2
| * ccccccc commit by other person 1
* | ddddddd a commit I made after doing the bundle
|/
* ffffff my last commit
或者我想创建另一个名为 master-other 的分支并在那里导入他的提交,然后合并回我的 master 分支?
还是别的什么?
我们的目标是让一个 工作 的 repo 在我身边,同时也将我的更改回馈给其他开发人员。
非常感谢!
【问题讨论】:
-
我想这就是你要找的东西:stackoverflow.com/questions/2888029/…
-
但据我了解,您链接的问题中列出的方法假设两台电脑之间存在共享文件夹/网络访问。就我而言,我试图避免这种情况(开发人员在不同的位置,没有公共网络)。
-
不回答这个问题——但不要分享
git diff制作的补丁,而是尝试使用git format-patch和git am。前者将创建一组补丁文件并使用后者来应用/包含它们。检查此以获取更多信息alblue.bandlem.com/2011/12/…
标签: git