我对Git的理解如下:
1)工作树—>手动进行更改的文件系统。
2)舞台区—>变化之处在于他们犯下的错误。
3)存储库—>提交的更改(本地或远程)。
基本上我真正想要的是:
1)工作树 – 我的桌面上的本地文件目录。
2)登台区 – 躺在联网的服务器上。
3)存储库 – GitHub跟踪我的源代码。
我不确定自己是否搞糊涂了所有关于Git的阅读,以及我刚刚描述的情况是否真的可行?
本质上,我希望我的团队中的所有开发人员都拥有源代码的本地工作树副本,然后能够更改我们networking上的服务器,然后从这里执行GitHub的最终提交。
它是否正确? 或者临时区域必须在每个本地机器上?
亲切的问候
我认为在这里检查git中使用的术语是值得的:
.git目录,其中包含完整的版本和分支历史logging等。 每个开发人员在将另一个存储库克隆到他们的机器时都有完整的git存储库。 实际上,每个git存储库都包含所有这些元素(除了我们不需要的裸存储库)。
你想要的更多的是一个pipe理团队工作stream程的过程或政策 。 你可以像这样设置它:
git push这些提交git push送到某个networking服务器上的git存储库
git push他们到github最终回购
请注意,每个项目符号都是一个git仓库 ,可以满足您的任何需求并定义它。
开发人员在其工作站上进行提交。 在那之后,所有的git所做的就是在回购之间进行这些提交,无论它们在哪里,以及它们可以提供什么function。
希望清理一下。
那么这在技术上可能是可能的,但这不是在分期领域背后的想法。
暂存区的要点是要控制你要提交的内容,例如你不想提交工作树中所做的所有更改。
也许你在树中改变了几个不同的东西,只想提交其中的一些,或者你想多次提交它们(给出不同的提交注释)。 这就是你使用临时区域的原因。
这并不意味着把东西传递给服务器。
要做到这一点,你应该创build一个分支(像“staging_branch”),承诺,然后通过一些CI工具如CruiseControl在服务器上签出。 然后,当一切正常,你可以将它合并到你的主分支。
或者只是提交到你的主分支,并修复它,如果出错:-)。
其实我刚刚看到Pro Git的作者的一个很棒的networking广播(链接到本书的全文)。 O'Reily应该立即张贴档案video, 保持你的眼睛去皮 。
基本上,你必须学习几个基本的git命令: init , commit , checkout , push和branch 。 这些将满足您的大部分需求。
(一定要检查Pro Git的链接,它是一本关于git的免费书籍)