我是一名生物信息学家,我是唯一一个从事我的项目的人。而且我所有的代码/脚本都必须存储在集群节点可访问的存储空间中(我可以通过 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
我可以将这个空存储库克隆到我的实际工作文件夹中,比如说,$HOME/projects
使用 sourceTree。我想它就像在本地工作(一旦你安装了远程存储空间)。现在我可以添加文件、提交和推送到原点(在 $HOME/Git 中)。然后来自工作和家庭的主要工作流程将是在$HOME/projects
文件夹下的克隆存储库上工作。如果我知道我会离线一段时间并想继续工作,那么我可以在此期间克隆到我的笔记本电脑并在本地工作,然后再推送。
2)直接在.git下建立一个non-bare
git仓库$HOME/projects
。现在,在我的工作和家庭计算机上使用 SSH 方法创建一个本地存储库,并记住每次推送。如本文所述,我将不得不git push error '[remote rejected] master -> master (branch is currently checked out)'
通过签出远程存储库创建另一个分支并从本地存储库推送到 master 来解决问题。
你有更好的选择吗?(或)你会推荐哪一个?
非常感谢您!