有没有一种简单的方法可以将Git用作NAS上的远程(和主要)存储库?

时间:2015-11-17 15:29:15

标签: git

比方说,如果我有一台NAS(西部数据EX2100网络附加存储,或连接到远程iMac的RAID驱动器),我可以将其用作网络驱动器,并且已经设置为镜像RAID,所以数据在那里更安全,然后我将编码练习文件夹从我当地的Macbook Air复制到此NAS。

然后几天后,如果我将这个文件夹从NAS复制到我的Macbook Pro(另一台Mac),并开始做一些更改和提交,有没有一种简单的方法可以“推”回NAS?

我知道我可以从NAS中删除该文件夹,只需将新文件夹从Macbook Pro复制到NAS即可。但是,如果我在Macbook Pro上进行了一些小的更改(并提交),然后在Macbook Air上进行了一些小的更改(和提交),那么有一种简单的方法可以“推”回NAS的Git文件夹(并且有那些提交合并)?

1 个答案:

答案 0 :(得分:2)

当然,这正是Git遥控器的用途。在您的示例中,首先在本地练习文件夹位置初始化Git仓库:

<exercise_folder> $ git init

提交所有文件:

<exercise_folder> $ git add -A
<exercise_folder> $ git commit -m "initial commit"

然后将repo克隆到NAS位置:

<NAS_dir_above_where_you_want_repo> $ git clone <exercise_folder>

将NAS repo设置为名为&#34;来源&#34; (它是常规的)在当地的回购:

<exercise_folder> $ git remote add origin <NAS_repo_dir>

现在,当您对本地仓库进行更改时,可以将该更改推送到远程位置:

<exercise_folder> $ git add -A
<exercise_folder> $ git commit -m "<description of the change>"
<exercise_folder> $ git push origin master

注意:这只是实现您所要求的一种方式。正如@sendaran指出的那样,有很多方法可以做到。在任何情况下,您都要在运动文件夹位置设置一个回购,在NAS上另一个回复,并通过&#34; git remote&#34;命令。

我上面列出的命令可以帮助您入门。当您准备好了解更多内容时,我将首先阅读.gitignore文件以及&#34; git add&#34;命令; &#34; git add -A&#34;工作,但是一个蛮力的解决方案。然后我读了关于git branches的内容。上面的命令假设你只是在名为&#34; master&#34;的分支上工作。

不,你不需要在NAS上运行Git服务器来使用这种方法。