2017-02-26 10 views
1

私はより良いタイトルを選ぶことができましたが、私はかなりギターに慣れて以来、何をしようとしているのかを説明する良い方法を見つけられませんでした。リモートブランチへのマージを避けてコードを変更する

だから私が達成しようとしているのは、オープンソースアプリケーションをgithubリポジトリから取り除くことです。それを私の組織にホワイトリストする必要がありますので、カスタマイズが必要になります。問題は、アプリケーションが2週間ごとに更新されたため、最新の状態にしたいと思っています。

私がしたいことは、カスタマイズされたコードが影響を受けることなく、アップデートを引き出すことができることです。私のカスタマイズされたコードはおそらくアプリケーションのcssとhtmlに変更を加えるだけなので、これらのファイルは開発者によって変更されることはほとんどありませんが、可能なので、私は自分のカスタムブランディングが保持される。

これを達成するためには、誰かが私に正確に何をする必要があるのか​​を教えていただければ大いに感謝します。私はそれがマージと何か関係があるという手がかりを持っていますが、私が達成しようとしているものが合併すればどうなるかはわかりません。

おかげ

答えて

1

クリーンな方法をカスタマイズして新しいブランチを作成することです。その後、変更を追加し、ブランチにそれらをコミット

git checkout -b <my-branch-name> 

git add --all 
git commit -m "<describe_changes>" 

更新が発生した場合、あなたが戻ってmasterブランチに戻り、更新を引く:あなたはこれを行うことができます

git checkout master 
git pull 

ブランチをマスターにリベースする(更新を適用):

git checkout <my-branch-name> 
git rebase master 

更新をマージするには簡単ですが、gitはこれを行います。それ以外の場合は、競合をマークし、解決を依頼します。

+0

リベースが実際に何をしているのか、それが機能する方法をどのように機能するのか少し説明できますか?私がそれを見ている方法は、それがマスターにちょうど引っ張られた変更を元に戻すことはありませんか? –

+0

マスターブランチを変更しないので、元に戻すことはありません。あなたがしていることはすべてあなたのブランチにあり、rebaseは両方のブランチの共通の祖先を見つけて、その時点で(マスターからの)新しいコミットを挿入します。 gitに興味があるなら、git book(最初の3章は本当に良いです)を読むことができます:https://git-scm.com/book/en/v2 –

+0

Gotcha。本当にありがとう! :) –

関連する問題