2015-07-07 3 views
1

Я узнал, как объединить определенные файлы из другой ветки с this link. Однако это сообщение не работает для слияния удаленных файлов. Я создал репозиторий git для имитации этой ситуации, поэтому вы можете попробовать это. Вот пример,Как объединить удаленные файлы из другой ветки?

$git clone https://github.com/gtchoi/SO_question.git 
$git branch --track test origin/test 
$git checkout test 
$git checkout master -- . 
$git status 

On branch test 
Your branch is up-to-date with 'origin/test'. 
Changes to be committed: 
    (use "git reset HEAD <file>..." to unstage) 

    new file: a.html 
$ls 
a.html  b.html  index.html 

Как и я ожидал (см the repository), по сравнению с текущей ветви (тест), a.html должны быть добавлены в рабочее дерево, так что мерзавец удается получить a.html из основной ветви, но b.html все еще находится в рабочем дереве. Я хотел бы удалить b.html из рабочего дерева, так как b.html удаляется из основной ветви. Как объединить удаленные файлы из другого филиала?

ответ

0

Проблема, кажется, что б был добавлен в test ветви независимо от главной ветви

enter image description here

Если вы действительно просто хотите сделать test идентичны master использование, например,

$ git reset --soft master 
$ git status 
On branch test 
Your branch and 'origin/test' have diverged, 
and have 3 and 1 different commit each, respectively. 
    (use "git pull" to merge the remote branch into yours) 

Changes to be committed: 
    (use "git reset HEAD <file>..." to unstage) 

     deleted: a.html 
     new file: b.html 

$ git commit -am 'made identical to master branch' 
[test 56ab8cb] made identical to master branch 
2 files changed, 1 insertion(+), 1 deletion(-) 
delete mode 100644 a.html 
create mode 100644 b.html