2015-10-15 1 views
5

Недавно я перешел из SVN в git и попытался узнать дорогу вокруг git. Мне нужно найти файлы, которые были изменены между двумя ветвями моего репозитория. Я использую следующую команду, чтобы:git diff дает неоднозначную ошибку аргумента

git diff branch_2..branch_1 

Я получаю ошибку follwing:

fatal: ambiguous argument 'branch_2..branch_1': unknown revision or path not in the working tree. 
Use '--' to separate paths from revisions, like this: 
'git <command> [<revision>...] -- [<file>...]' 

мерзавец ветвь дает следующее о/р:

git branch -a 
* branch_1 
master/origin 
remotes/origin/HEAD -> origin/master 
remotes/origin/branch_2 
remotes/origin/branch_1 
+0

Это может быть глупый вопрос, но если вы делаете 'GIT ветви -a' являются ваши филиалы в этом списке? – idjaw

+0

Да, они есть. – am28

+0

Можете ли вы вставить те, что эти две ветви указаны в списке? – idjaw

ответ

11

Если вы просто делаете:

git diff branch2..branch1 

Это не будет работайте, как указано в вашем списке филиалов git, ваши «пульты» указаны как «происхождение». На самом деле это означает, что у вас есть эти ветви на вашем пульте, но они на самом деле не проверяются локально.

Итак, у вас есть два варианта. Попробуйте это, и дайте мне знать, как это происходит.

На основании списка филиала при условии:

Diff с использованием происхождения/

git diff origin/branch2..branch1 

Если вы хотите, чтобы оформить эти ветви локально выполнять свой диф и, возможно, работать над ними на вашей рабочей станции. Кроме того, поддержка различий в этом формате:

git diff branch2..branch1 

Что вам нужно сделать, это на самом деле проверку тех отраслей, чтобы установить их в качестве местных отделений с пульта. Просто сделать это:

git checkout branch2 

Затем вы можете сделать

git diff branch2..branch1 
+2

работал отлично !! – am28