首先让我先谈谈我想做什么,然后看起来什么都不行。
我有一个项目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
。
那么我如何确保复制原件中的所有内容?
我有一个恐惧是有一个过程,看起来我已经拥有了所有东西(比如两个分支),然后当它太晚了,我发现我错过了复制某些东西
我在网上看过一些文章,但似乎他们更关注复制远程存储库而不是本地存储库,我对这些描述中的一些内容感到困惑。
答案 0 :(得分:0)
那么我如何确保复制原件中的所有内容?
将.git
文件夹复制或复制到另一个位置后,您将拥有存储库的完整副本(所有分支的所有提交)。
如果您正在处理存储库(或任何副本),则每个副本都有自己的HEAD
。要了解what is HEAD and what does it means
,请点击该链接并阅读所有相关内容。
在您的情况下,您现在正在使用一个分支,因此您只会检出该分支。
如果您希望查看所有分支(本地+远程)的列表:
git branch -a
Note
强> 提交并将所有更改推送到远程存储库后,这是您的备份 为什么还需要其他备份?