使用Git在远程位置创建目录副本

时间:2014-01-09 20:18:10

标签: git versioning

我对Git完全不熟悉。我想要做的是围绕一些Git概念。作为测试,我想要一个简单的事情。我将在本地计算机上手动创建一个名为TEST的文件夹: C:\ GIT_Test ,然后将一个或多个文件放在该文件夹中。

现在我要创建一个名为 C:\ GIT_OtherTest 的文件夹,并使用Gi​​t将 C:\ GIT_Test 的内容发送到 C:\ GIT_OtherTest

我需要知道哪些命令才能执行此操作?

1 个答案:

答案 0 :(得分:2)

你无法完全按照你的描述去做。这是因为Git是一个分布式版本控制系统。在这种情况下,这很重要,因为在分布式系统中,您无法将更改推送给其他人 - 而是决定何时从您那里获取更改。

这是如何工作的(使用命令行git)

cd GIT_Test
git init .
mkdir TEST
touch TEST/foo
git add TEST/foo
git commit -m "Added testing file"

cd ../GIT_OtherTest
git init .
git remote add test ../GIT_Test
git pull test master

一个例外是 bare 存储库。裸存储库没有文件的工作副本,因此您可以安全地推送到它们而不会覆盖任何人的工作。缺点是您不能直接在裸存储库中处理文件 - 您必须克隆存储库并在那里进行更改。

例如,我们可以在第二部分做不同的事情:

cd ..
git init --bare GIT_Central

cd GIT_Test
git remote add central ../GIT_Central
git push central master
ls ../GIT_Central # notice how this doesn't actually contain the files we pushed

cd ..
git clone GIT_Central GIT_OtherTest
ls GIT_OtherTest # but here they are!

因此,您需要了解的命令包括initaddcommitremotepullpush和{{ 1}}。