Нужно ли вам «удаленное обновление», прежде чем делать «тянуть» в Git - PullRequest
5 голосов
/ 29 апреля 2011

Если я сделал следующее из c: \, как правильно получить последний код из удаленного источника?

# Create repo...
mkdir Test
cd Test
git init
...create files
git add .
git commit -a -m "Init Commit"

# Clone repo...
cd ..
git clone Test TestClone

# Edit original
cd Test
...edit files
git commit -a -m "Init Edit"

# Go back to Clone
cd ..\TestClone

# Get latest code
# Now what??? pull or update then pull

Ответы [ 3 ]

4 голосов
/ 29 апреля 2011

Другие сказали вам короткую версию: просто pull. Но так как вы на самом деле спрашивали о `удаленном обновлении ...

remote update - это команда высокого уровня для «обновления всего, что мы знаем с пульта (ов)». Он выбирает новые ветви, может удалять старые и может делать это для произвольных групп пультов или для всех. Обновляет только удаленные ветви отслеживания (с именами, такими как origin/master); это не касается ваших ветвей. Если вы хотите сделать такое обновление, эта команда для вас. Распространено желание просматривать то, что находится там, на удаленном устройстве, без фактического слияния какого-либо из них с любой из ваших ветвей, и возможность обрезать устаревшие ветви тоже довольно приятна.

Если все, что вы хотите сделать, это объединить соответствующую удаленную ветку с текущей, git pull - правильная команда. Это обновит некоторые удаленные ветви в процессе, да, но это не является его основным назначением.

4 голосов
/ 29 апреля 2011

Git автоматически настроит удаленный origin в вашем клонированном репозитории и настроит ваши ветви для объединения из их эквивалентов в origin при извлечении.

Все, что вам нужно сделать, это git pull в этом случае.

1 голос
/ 29 апреля 2011

Из чтения справки git я думаю remote update похоже на fetch.

git pull объединяет git fetch и git merge. Таким образом, выполнение git pull позволит получить изменения с пульта и объединить их с вашим рабочим деревом.

Вы делаете git fetch, когда хотите получать обновления с пульта, но не хотите, чтобы они смешивались с вашими локальными изменениями. Это полезно для перехода в автономный режим, проверки новой локальной ветки (которая не связана с вашей текущей веткой) и просто проверки того, над чем работают другие.

Вам нужно было бы сделать git remote update только для причудливой удаленной манипуляции. Дальнейшее обсуждение в этом вопросе .

Так что для получения последней версии используйте git pull.

...