2014-01-09 3 views
0

Я совершенно не знаком с Git. То, что я пытаюсь сделать, это обернуть голову вокруг некоторых концепций Git. В качестве теста я хочу простую вещь. Я вручную создам папку под названием TEST на моем локальном компьютере по адресу: C: \ GIT_Test, а затем поместите файл или файлы в эту папку.Используйте Git для создания копии каталога на удаленном месте

Теперь я хочу, чтобы создать папку с именем C: \ GIT_OtherTest и с помощью Git отправить содержимое C: \ GIT_Test к C: \ GIT_OtherTest.

Какие команды мне нужно знать, чтобы это сделать?

+1

Если вы только начинаете с git, вы, вероятно, захотите прочитать книгу [* Pro Git *] (http://git-scm.com/book). – Ajedi32

+0

Я читал его, и поскольку я никогда не работал с системой управления версиями, я немного новичок в этом все еще и не имею в словаре слова, чтобы обернуть голову вокруг некоторых тонких точек. Я смотрел видеоролики и делал учебники по учебному курсу, поэтому я надеюсь скоро поспорить. – randomblink

+0

Я читал книгу (и это потрясающе, клеймо писателю), но я должен «сделать» что-то, чтобы понять некоторые концепции. – randomblink

ответ

2

Вы не можете сделать это точно так, как описано. Это потому, что 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 

Единственного исключения являются босыми хранилищ. У голых репозиториев нет рабочих копий файлов, поэтому вы можете безопасно нажимать на них, не перезаписывая чью-либо работу. Недостатком является то, что вы не можете работать с файлами в открытом репозитории напрямую - вы должны клонировать репозиторий и вносить туда изменения.

Например, мы могли бы сделать вторую часть по-разному там:

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! 

Так что команды, которые вы должны знать, являются init, add, commit, remote, pull, push и clone.

Смежные вопросы