1

我是一名生物信息学家,我是唯一一个从事我的项目的人。而且我所有的代码/脚本都必须存储在集群节点可访问的存储空间中(我可以通过 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-baregit仓库$HOME/projects。现在,在我的工作和家庭计算机上使用 SSH 方法创建一个本地存储库,并记住每次推送。如本文所述,我将不得不git push error '[remote rejected] master -> master (branch is currently checked out)'通过签出远程存储库创建另一个分支并从本地存储库推送到 master 来解决问题。

你有更好的选择吗?(或)你会推荐哪一个?

非常感谢您!

4

1 回答 1

4

不要推送到非裸存储库——你是在自找麻烦。设置一个中央存储库,您可以从您推送和拉取的任何地方访问该存储库。所以:使用第一种方法。

如果您是 git 初学者,我强烈建议您使用命令行客户端。这样你就可以正确地了解正在发生的事情并理解 git。

于 2012-12-18T09:52:37.270 回答