2013-12-03 1 views
3

В настоящее время, если вы находитесь в ветке V2, и вы делаете «git pull origin V3», он объединяет V3 в V2 и даже не предупреждает об этом. Можно ли как-то заблокировать этот вариант? Здесь я читал все похожие вопросы, и люди предлагают мне использовать выборку или показать предупреждение в этом случае. Это нормально, я начну использовать выборку вместо pull, но я хочу заблокировать других пользователей. Кроме того, я предполагаю, что есть случаи, когда вам нужно сделать pull вместо извлечения. Как предотвратить потянув git от другой, чем текущая ветвь

+0

Можете ли вы использовать просто «git pull» вместо этого? Если ваша ветка настроена на отслеживание V2, то все должно быть хорошо. – jszakmeister

+1

'git pull' выполняет' git fetch', за которым следует 'git merge'. Я бы попробовал использовать 'git fetch' вместо' git pull', как вы уже сказали. – Pippin

ответ

0

Если вы связываете удаленную ветку как локальную ветвь вверх по течению источник, вам не нужно вручную писать пульт и ветвь.

# set upstream 
git push -u origin V2 

# Then simply pull from default branch 
git pull 

Это будет работать. Хотя, вы, в основном, всегда лучше fetch и rebase - ваш местный филиал сверху пульта. Это делает более чистую и полезную историю.

Чтобы ответить на вопрос напрямую, вы можете создать пользовательский перед слиянием крюка, который проверяет ветки, которые будут объединены, и предупреждение, когда вы объединяете удаленную ветвь, не соответствующую имени локальной ветви. Но это накладные расходы и может быть раздражающим, поскольку он проверяет каждое слияние (потому что git pull === git fetch && get merge)

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