[英]Git cloning/forking a repository
首先,让我说出我想做的事情,然后说似乎不起作用的事情。
我有一个项目A,它位于/local/projects/A
。
我想将git存储库复制到另一个目录/local/backup/A
我也想将git repo复制到/local/sandbox/A/aspect1
, /local/sandbox/A/aspect2
...
我希望副本完整。
我的意思是,如果/local/projects/A
被意外删除,我希望能够使用/local/backup/A
(或其他副本之一)并将其复制回/local/projects/A
并成为能够继续(添加自上次备份以来发生的所有推送之后),好像什么都没发生。
最好我用git来做,而不是cp
/ rsync
/ generic
复制程序。
现在我一直在做的事情没有用。
我进入/local/backup/A
然后执行以下操作:
git clone /local/project/A.
问题是我的测试项目中有两个分支: master
和b1
。 克隆到/local/backup/A
并执行git branch
我仅看到一个分支b1
。
那么,如何确保复制原件中的所有内容?
我最担心的是要进行一个处理,使我看起来已经拥有了所有东西(说两个分支),然后为时已晚,我发现我错过了复制某些东西的过程。
我在网上看到了一些文章,但似乎它们更多地侧重于复制远程存储库而不是本地存储库,这些描述中的某些内容使我感到困惑。
那么,如何确保复制原件中的所有内容?
将.git
文件夹克隆或复制到另一个位置后,您将拥有存储库的完整副本(所有分支的所有提交)。
如果您在存储库(或任何副本)上工作,则每个副本都有其自己的HEAD
。 要了解what is HEAD and what does it means
请单击链接并阅读所有内容。
在您的情况下,您现在有一个分支正在使用,因此您只可以签出该分支。
如果您想查看所有分支机构的列表(本地+远程):
git branch -a
Note
提交所有更改并将其推送到远程存储库后,这就是您的备份。
为什么还需要其他备份?
声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.