Git:如何共享存储库而不被无关紧要的提交淹没?
Git: How to share the repositories without flooding with nonsignificant commits?
我有一个代码库。
我在自己的电脑上写,但是 运行 的环境是在远程电脑上,所以我是这样工作的:
-> Local:
| Write
| Commit
| Push --------> company git server |
| |
| Remote |
| Pull <---------------------------
| Compile
<--- Run
但是,如果我遗漏了一个冒号,或者添加了一个换行符或修复了一个名称或所有类似的小改动,我一直在添加大量不重要的提交,这对于版本控制来说一点也不方便。
我想过编写一个脚本来使用 Rsync 同步两台机器,但不确定这是否是最好的方法。
归根结底,我只想提交重要的提交,而不是我添加的所有垃圾。
你会guys/girls怎么做?
git 是比 rsync 更好(更有效)的同步工具,因为它存储了更多的元信息。 rsync 每次都必须重新检查每个文件,而 git 比较双方的对象哈希值。
如果你不喜欢你有太多小的不是很有趣的提交——使用 git rebase --interactive
并将它们压缩成提交,他们在一个大修复提交中修复或压缩它们。
我根本不会为此烦恼。虽然您确实可以使用 git rebase -i
(docs) or (in other circumstances, not for your particular case) git merge --squash
(docs) 来摆脱小的、无关紧要的提交,但我看不出有什么问题需要解决。
git
非常 在跟踪许多提交的小变化方面非常有效。你没有浪费太多 space。可能发生的最坏情况是其他人看到了这一点。如果同事向您提出挑战,您可以告诉他们您更愿意尽早并经常提交(这是 git、google 的常用比喻,您会找到 [=15= 这样的支持网站]).对于一般应用程序,它与旧的 "save early, save often" 相同。
git
旨在与频繁、细粒度的提交配合使用。特别是,合并操作丝毫不关心 3 个涉及的提交之间有多少次提交。
对已推送的提交进行变基时要特别小心,这将导致严重的问题,除非您非常严格地控制(和了解)谁已经在他们各自的存储库中提交了您的提交。
我有一个代码库。 我在自己的电脑上写,但是 运行 的环境是在远程电脑上,所以我是这样工作的:
-> Local:
| Write
| Commit
| Push --------> company git server |
| |
| Remote |
| Pull <---------------------------
| Compile
<--- Run
但是,如果我遗漏了一个冒号,或者添加了一个换行符或修复了一个名称或所有类似的小改动,我一直在添加大量不重要的提交,这对于版本控制来说一点也不方便。
我想过编写一个脚本来使用 Rsync 同步两台机器,但不确定这是否是最好的方法。
归根结底,我只想提交重要的提交,而不是我添加的所有垃圾。
你会guys/girls怎么做?
git 是比 rsync 更好(更有效)的同步工具,因为它存储了更多的元信息。 rsync 每次都必须重新检查每个文件,而 git 比较双方的对象哈希值。
如果你不喜欢你有太多小的不是很有趣的提交——使用
git rebase --interactive
并将它们压缩成提交,他们在一个大修复提交中修复或压缩它们。
我根本不会为此烦恼。虽然您确实可以使用 git rebase -i
(docs) or (in other circumstances, not for your particular case) git merge --squash
(docs) 来摆脱小的、无关紧要的提交,但我看不出有什么问题需要解决。
git
非常 在跟踪许多提交的小变化方面非常有效。你没有浪费太多 space。可能发生的最坏情况是其他人看到了这一点。如果同事向您提出挑战,您可以告诉他们您更愿意尽早并经常提交(这是 git、google 的常用比喻,您会找到 [=15= 这样的支持网站]).对于一般应用程序,它与旧的 "save early, save often" 相同。
git
旨在与频繁、细粒度的提交配合使用。特别是,合并操作丝毫不关心 3 个涉及的提交之间有多少次提交。
对已推送的提交进行变基时要特别小心,这将导致严重的问题,除非您非常严格地控制(和了解)谁已经在他们各自的存储库中提交了您的提交。