And*_*o13 4 git version-control xcode xcode6
我正在使用XCODE,并且最近决定尝试使用git(我是一个独立的应用程序开发人员,所以从来没有真正需要使用它).因为我之前尝试过它占用了大量的存储空间,所以当前使用git的所有项目都存储在外部硬盘上.然而,我想知道是否可以将项目的开发分支保留在mac的硬盘驱动器上,同时将主分支保留在外部硬盘驱动器上.这样,我可以每隔几天将稳定的分支机构合并到外部硬盘驱动器上,并将开发副本保留在我的macbook上,以免我随身携带外置硬盘驱动器.这可能吗?关于git新手的任何建议?
如果你的项目的完整历史真的占用了这么多空间(但重新考虑并检查两次,如果确实如此),这可能是一种方法来使这项工作:
首先在你的remote仓库(外部硬盘)的分支中有完整的历史记录(如果我是你,main我会保留默认的分支名称master).将它作为一个简单的回购是一个好主意,以便以后轻松推动.如果你还没有这样做:
$ cd /mnt/your/external/drive
$ git clone --bare /repo/where/you/currently/have/the/whole/history
Run Code Online (Sandbox Code Playgroud)
然后,当你想要开始一个新的开发阶段时,从一个浅的克隆remote到local(你的笔记本电脑的硬盘)
$ cd $HOME/
$ git clone --depth 10 /mnt/you/external/drive/repo.git
Run Code Online (Sandbox Code Playgroud)
这将克隆存储库,但历史记录中只有最后10次提交.这样,如果你的历史真的是巨大的,你就可以节省空间(再次,如果历史占据的空间确实存在问题,那么看两次).
像往常一样创建工作分支,在该分支中工作,合并到main,推送到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
Run Code Online (Sandbox Code Playgroud)
你去吧 你曾经在你当地的浅层克隆上工作remote,历史有限.
过了一会儿,你的浅层克隆会有越来越多的历史.如果历史空间再次成为一个问题(但是......你知道),只需抛弃浅层克隆并从中创建一个新的remote.