我试图了解版本控制在git / github中的工作原理。我可以克隆,拉动,合并或添加和删除遥控器。我不明白的是如何分开版本。
这是一个例子。假设我已将整个网站存储在github.com/user/foobar_site
现在,假设我已完全重新制作foobar_site
的本地副本,但我不想推送此内容并让它与我的远程副本混合使用。所以,我想要的是保持我的遥控器完好无损并将我的本地推向它而不混合两者。最终结果是,我将能够git clone
foobar_site
的第一个版本和任何时候的第二个版本。
这样的事情可能吗?如果是的话,怎么样?
答案 0 :(得分:2)
git push
没有混合(合并在git-speak中)任何东西。它需要您的本地副本,并告诉远程端这是现在的版本。旧版本仍然可以使用其提交ID,或者您可以创建标记或分支来引用它。
git log
会显示您所有以前版本的回购。
git commit -m "Old stuff"
(change loads of files)
git commit -m "New changes"
git log --oneline
10a3fe2 New changes
7f0ceaa Old stuff
您可以使用git checkout
返回任何旧提交的代码版本:
git checkout 7f0ceaa
使用
返回当前版本git checkout master