2011-04-07 52 views
2

我是新来的git,所以如果我完全错过了船,请原谅我。我在我的笔记本电脑上编写网站,除了Dropbox之外,我希望将我所做的所有事情都备份到其他地方。这是我了解git的时候。我了解它会跟踪所做的所有更改(并已提交),但发生了什么变化的实际文件?我想问的可能是最好的例子。使用Git的闪存驱动器上的站点备份

我已成立了一个混帐回购协议上我的笔记本电脑来管理所有的到MySite/及其所有文件和文件夹(index.phpimg/css/等)所做的更改。我还在闪存驱动器上创建了一个--bare git存储库。我有push编辑原始回购到该位置。我可以使用git log成功查看历史记录,但是当我访问闪存驱动器时,我注意到MySite/的内容不存在(或至少可以看到)。你有什么建议我能够从闪存驱动器工作,然后将这些更改推送到笔记本电脑,同时仍然可以像我习惯的那样在笔记本电脑上工作?

回答

4

只要有两个是不裸存储库。这是最简单的可能只是删除裸露的回购协议(因为它听起来像有目前没有什么独特的存在),然后运行:

git clone /laptop/project /thumbdrive/project 

其中/laptop/project是主要的非裸露的回购协议,并/thumbdrive为您安装闪存盘。

现在,/thumbdrive/project是非裸回购。因此,你有两个非裸回购(意味着两个都有工作目录),你可以随意工作,并与他们两个承诺,然后拉(或推,如果你小心)他们之间。

当您想要一份不会直接工作的副本时(例如纯备份,镜像或服务器),可以使用裸回购。

+1

推入非裸仓库有潜在危险,您会收到关于它的警告。真正重要的是你不想推到检出分支。通常情况下,获取/拉入非裸回购更好。另一种选择是在每台机器上安装一个非裸机克隆,并使用拇指驱动器上的裸回购作为中央回购 - 将其插入到您的机器中,并按照任何中央回购机制进行推/拉。 – Cascabel 2011-04-07 17:53:43

+0

@Jefromi,真的,“拉”更简单。但如果你小心,推动是一种选择。 – 2011-04-07 17:55:21

+0

好吧 - 刚刚尝试过,它似乎完全按照我的要求做了,但我有一个问题......在它们之间推拉时,您如何指定位置?例如,我最初设置它的方式是将闪存驱动器命名为'flashdrive',然后使用命令'git push flashdrive'。我现在该怎么做? – ServAce85 2011-04-07 17:56:02

1

的文件是在那里 - 他们是不同的git的文件夹内,但它们被存储为集的差异。

你总是可以用“git pull”提取一个集合,但你不要尝试编辑git自己的文件 - 你会打破某些东西。只要将git文件夹视为黑盒子,并从其中提交/拖放/推送文件