Git: merge файла из бранча в бранч

 

git-logoИмеется два бранча – master и release.

Для Travis – в бранче master были внесены изменения в файл .travis.yml, для “активации” бранча release.

Теперь – эти изменения в файле .travis.yml из бранча master необходимо смерджить в бранч release.

Сравниваем их:

$ git diff master release
diff --git a/.travis.yml b/.travis.yml
index fd0c58a..5925a12 100644
--- a/.travis.yml
+++ b/.travis.yml
@@ -4,8 +4,7 @@ install:
 branches:
   only:
     - develop
-    - release
 script:
   - if [ $TRAVIS_BRANCH = "develop" ]; then ./ci/deploy.rb jdev; fi
-  - if [ $TRAVIS_BRANCH = "release" ]; then echo "PROD deploy"; fi
+  - if [ $TRAVIS_BRANCH = "master" ]; then echo "PROD deploy"; fi

Переключаемся на бранч, в который необходимо смерджить файл:

$ git checkout release

Получаем файл из бранча-источника, в данном случае – из master:

$ git checkout master .travis.yml

Проверяем статус бранча release:

$ git status
On branch release
Your branch is up-to-date with 'origin/release'.

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

        modified:   .travis.yml

Сохраняем изменения:

$ git add .travis.yml && git commit -m "release branch handler add" && git push

Готово.