我正在使用xcode,并且最近决定尝试使用git(我是一个单独的应用程序开发人员,所以从来没有真正需要使用它)。因为在我之前尝试使用git时,它占用了很多存储空间,所以我当前使用git的所有项目都存储在一个外部硬盘上。不过,我想知道,是否有可能在mac的硬盘上保留项目的开发分支,而在外部硬盘上保留主分支。这样,我可以每隔几天将稳定的分支合并到外部硬盘上,并将开发副本保存在我的MacBook上,这样就不必随身携带外部硬盘。这可能吗?对新手有什么建议吗?

最佳答案

如果项目的完整历史确实占用了太多空间(但如果确实需要,请重新考虑并检查两次),可以使用以下方法:
首先,在分支中的repo(外部硬盘驱动器)中保存完整的历史记录(如果我是您,我将保留默认的分支名称)。让它成为一个裸回购是一个好主意,以便于以后推动。如果你还没有做到:

$ cd /mnt/your/external/drive
$ git clone --bare /repo/where/you/currently/have/the/whole/history

然后,当你想开始一个新的开发阶段时,从remotemain(你笔记本电脑的硬盘驱动器)进行一个浅层克隆。
$ cd $HOME/
$ git clone --depth 10 /mnt/you/external/drive/repo.git

这将克隆存储库,但历史上只有最后10次提交。这样,如果你的历史真的很庞大,你就会节省空间(再次,如果历史占用的空间真的是个问题,请再看两遍)。
像往常一样创建一个工作分支,在该分支中工作,合并到master,推到remote
$ git checkout -b super_feature   # use good branch names, not "dev"
... work, commit, work, commit, work, commit, ... time to merge.
$ git checkout main
$ git merge super_feature         # I usually add --no-ff
$ git push origin main

就这样。你在你的local的本地浅层克隆上工作,历史有限。
过一段时间,你肤浅的克隆人将有越来越多的历史。如果历史空间再次成为一个问题(但是…你知道的),只需抛弃浅层克隆,从main中制作一个新的。

关于xcode - 将git存储库放在外部硬盘驱动器上,我们在Stack Overflow上找到一个类似的问题:https://stackoverflow.com/questions/30041580/

10-13 09:01