我们想要启动一个开源项目并与我的朋友一起使用Git。我们知道Git,但我们之前只用它来分配东西。
假设我们已经创建了一个存储库。
情况1:
Both of us downloaded repository to our local computers to started working.
I've created A.php, with a function named A() in it. Committed.
My friend created B.php, with a function named B() in it. Committed.
Q1:我们的本地存储库未更新,但github存储库已更新。如何在不下载整个仓库的情况下同步它?
Q2:开发人员多久更新一次本地存储库?我可以在20:00更新它,但在20:05可能会有不同的提交。是否有更新本地回购的实时解决方案?与此情况下的Dropbox一样,您进行了更改并自动同步。
情况2
Me and my friend both started working on A.php. The file currently has function A().
I made a function called function B(), committed.
My friend also created a function called B() too. Committed.
第三季:将会发生什么?第一个提交者是否正常提交,第二个提交者收到错误,如“文件已更改,请再次同步文件并在之后提交。”?
答案 0 :(得分:2)
Q1:您使用Fetch或Pull从原始仓库获取最新更改。
第二季度:每次他们必须这样做,或者是因为他们想要查看原始仓库中发生的事情,或者因为git强迫他们这样做。实际上,如果你试图推送到远程原始仓库并且你的本地副本就在它后面,git会强制你先更新你的本地副本,合并你的更改,然后再推。 问题3:是的,第二次推送将被拒绝。开发人员必须获取,合并或重新绑定,从而解决潜在的冲突,然后推送。我建议阅读Pro Git,这既优秀又免费。
答案 1 :(得分:0)
A1。你为什么需要这个?您可以git pull
将存储库的更改提取到本地。没有其他方式可以接收数据,只获取整个更改
A2。真的,你可以根据需要做到。如果您不需要其他功能,可能不会更新一段时间。如果你需要它 - 拉它。
我经常在每个实现的功能后检查,因为很多开发人员在处理类似的文件。我做的改动较少,更容易解决冲突。
A3。 Git不合并它合并源文件的函数。如果在文件开头添加A(),在结尾添加另一个,则所有内容都将成功合并,并且会有两个A()。
你应该合并或改组以便推送到遥控器,而不是HEAD
答案 2 :(得分:0)
为了回应您的回答问题的指南请求,我提出了一些建议。我是git的新手,但我一直在esper.net上的#git IRC中闲逛并吸收信息。以下是我发现我认为最有帮助的教程/指南。
希望这些链接有所帮助!我相信你的所有问题都可以通过这些教程来解答。