查找使用git格式修补程序和git am的工作流示例

查找使用git格式修补程序和git am的工作流示例,git,version-control,workflow,Git,Version Control,Workflow,我正在考虑让我的学生使用git进行结对编程。因为学生的作业必须保密,所以公开回购是不可能的。相反,每个学生都有自己维护的私有回购协议,他们需要使用git格式的补丁交换补丁。我已经阅读了手册页,但我有点不清楚将发送哪些补丁。对于学生来说,最明显的事情是发送自上次发送以来的所有补丁,或者(如果git不介意冗余地接收相同的补丁)从时间开始发送所有补丁。(请记住,这些都是学生项目,持续几周,而且规模很小,性能不是标准)我们最好的朋友是简单,我们也喜欢暴力 有谁能给我一个简短的例子,展示两个人,每个人都有

我正在考虑让我的学生使用git进行结对编程。因为学生的作业必须保密,所以公开回购是不可能的。相反,每个学生都有自己维护的私有回购协议,他们需要使用git格式的补丁交换补丁。我已经阅读了手册页,但我有点不清楚将发送哪些补丁。对于学生来说,最明显的事情是发送自上次发送以来的所有补丁,或者(如果git不介意冗余地接收相同的补丁)从时间开始发送所有补丁。(请记住,这些都是学生项目,持续几周,而且规模很小,性能不是标准)我们最好的朋友是简单,我们也喜欢暴力


有谁能给我一个简短的例子,展示两个人,每个人都有一个私有的git回购协议,使用git格式的补丁和git am交换补丁?或者让我看看现有的git文档和/或教程?

如果他们能看到彼此的git回购协议,效果最好。git本身就是这样管理的(有一个公共回购协议,人们可以参考,然后从那里格式化补丁)。如果人们从未见过彼此的回购协议,事情就有点困难了

他们可以做的一件事是维护上一次做格式化补丁时的引用。假设他们从发送整个树(包括.git)开始:

git-tag
在这个表单中创建了一个“轻量级标记。它是一种书签。这将是人们跟踪发送内容的一种简单方法,以便下次可以再次发送

另一方面:

# get patches from mail and place in /tmp
git am /tmp/00*
rm /tmp/00*
这似乎是更好的选择。与单向通信工作流的git format patch不同,bundle允许您利用与公共远程设备相同的工作流,但与直接访问分离

它专为运动鞋网设计,非常适合学生保存到USB或电子邮件包


补丁更多的是通过项目负责人的沟通方式提交审批。

遗憾的是,他们从来没有看到过对方的回购协议——尽管他们可能都在两个回购协议之一的计算机前。但这看起来像是我所希望的,所以得到了我的信任。感谢这个答案。它帮助我将混乱的SVN回购协议转换为我的经验是关于
Git bundle
?这似乎是共享代码工作流的更好方法。与格式不同,补丁更像是单向通信工作流。Git-bundle
# get patches from mail and place in /tmp
git am /tmp/00*
rm /tmp/00*