我是生物信息学家,我是唯一一个参与我项目的人。并且我的所有代码/脚本都必须存储在集群节点可访问的存储空间中(我可以通过SFTP连接并通过SMB安装)。我有兴趣主要设置一个git存储库:
a) keep track of changes
b) cloning repositories to work locally and push later to origin/remote repo
我想使用sourceTree来管理我的存储库。我可以通过两种方式来确定这一点:
1)使用SMB安装和访问存储空间。这允许我在bare remote repository
之下设置$HOME/Git
,我可以使用sourceTree将此空存储库克隆到我的实际工作文件夹,例如$HOME/projects
。我想它就像在本地工作一样(一旦安装了远程存储空间)。现在我可以添加文件,提交并推送到原点(在$ HOME / Git中)。然后来自工作和家庭的主要工作流程将在$HOME/projects
文件夹下的克隆存储库上工作。如果我知道我将要离线一段时间并希望继续工作,那么,我可以克隆到我的笔记本电脑并在此期间在本地工作,然后推迟。
2)在non-bare
下直接设置$HOME/projects
git存储库。现在,在我的工作和家用计算机上使用SSH方法创建一个本地存储库,并记住每次都要推送。我必须通过检查远程存储库创建另一个分支并从本地存储库推送到outlined in this post来解决git push error '[remote rejected] master -> master (branch is currently checked out)'
的问题。
你有更好的选择吗? (或)你会推荐哪一个?
非常感谢你!
答案 0 :(得分:4)
不要推送到非裸存储库 - 你要求麻烦。设置一个中央存储库,您可以从您推送和拉出的任何位置访问该存储库。所以:使用第一种方法。
如果您是git初学者,我强烈建议您使用命令行客户端。这样你就可以正确地了解正在发生的事情并理解git。