我是一个生物信息学家,我是唯一一个在我的项目上工作的人。我的所有代码/脚本都必须存储在集群节点可访问的存储空间上(我可以通过SFTP连接到该存储空间,并通过SMB挂载到该存储空间)。我对设置git存储库感兴趣,主要是为了:
a) keep track of changes
b) cloning repositories to work locally and push later to origin/remote repo我想使用sourceTree来管理我的存储库。我可以想到两种方法来建立这一点:
1)使用SMB挂载和访问存储空间。这允许我在$HOME/Git下设置一个bare remote repository,然后我可以使用sourceTree将这个空的存储库克隆到我的实际工作文件夹中,比如$HOME/projects。我想这就像在本地工作一样(一旦你挂载了远程存储空间)。现在我可以添加文件,提交并推送到源文件(在$HOME/Git中)。然后,工作和家庭的主要工作流程将是在$HOME/projects文件夹下的克隆存储库上工作。如果我知道我会离线一段时间,并想要工作,那么,我可以克隆到我的笔记本电脑上,在这段时间内在本地工作,然后再推送。
2)在$HOME/projects下直接搭建non-bare git仓库。现在,在我的工作和家庭计算机上使用SSH方法创建一个本地存储库,并记住每次都要推送。我将不得不通过签出远程存储库、创建另一个分支并以outlined in this post的身份从本地存储库推送到git push error '[remote rejected] master -> master (branch is currently checked out)'来解决主存储的问题。
你有没有更好的选择?(或者)你会推荐哪一个?
非常感谢您的提前!
发布于 2012-12-18 17:52:37
不要推到非裸露的存储库-你是在自找麻烦。设置一个中央存储库,您可以从推送和拉出的任何位置访问它。所以:使用第一种方法。
如果你是git初学者,我强烈建议你使用命令行客户端。这样,您就可以正确地了解正在发生的事情并理解git。
https://stackoverflow.com/questions/13929970
复制相似问题