オープンソース プロジェクトで Git プル コードの競合を解決するにはどうすればよいですか?
仅有的幸福
仅有的幸福 2017-05-02 09:50:07
0
2
642

オープンソース プロジェクトを使用しているとします。ルートの公式 github を常に同期させるために、プロジェクトをローカルで git clone し、二次開発のほとんどは公式のコア ファイルと競合しません。はい、ただし個々のファイルは競合します。 。

たとえば、しばらくしてからローカル コンピューターにいくつかの変更を加え、これもいくつかの変更を加えて小規模バージョンをリリースした公式リポジトリです

現時点では、最新の正式バージョンにアップデートしたいのですが、git pull を使用すると競合が発生します。

オープンソース プロジェクトの二次開発。git pull 経由でいつでも最新バージョンを取得し、ローカルの変更を維持するにはどうすればよいですか?

今やっていること

git pull が最新の公式アップデートを取得するときに競合が発生した場合

git stash を使用してローカルの変更をキャッシュします。
次に git pull して最新の正式バージョンをダウンロードします
次に git stash Pop を使用してローカルの変更をコードにマージし、競合を手動で解決します

簡単にテストしましたが、問題はありませんでした。コードを公式ウェアハウスにプッシュする必要がないため、通常は追加しませんが、この経験の後、いくつかの修正を加え、公式がそれを更新しましたまた何か

git pull を使用してもまだ機能しません。その後、更新を維持して競合をマージするには、上記の stash 手順を繰り返す必要があります。

私がやったことが正しいかどうかわかりません、それとももっと良い方法はありますか?

仅有的幸福
仅有的幸福

全員に返信(2)
阿神

スタッシュする必要はありません。最初に変更をコミットしてから、プルして競合を解決します。

いいねを押す +0
刘奇

実際、既にローカル コミット (git commit) を行っている場合、リモートの変更を取得する前に git stash,直接git pull或者先git fetchgit merge就可以了。
当然,如果你在拉取之前,本地并没有提交(git commit)的话,你的上述操作也是没有问题的,但是,你也可以先将本地的修改做完然后提交了再拉取(git pull)。
其实,你的git stash应用的场合不太合适,git stash一般用于你在某一分支工作做了一半(还不值得做一次提交或者压根还不想提交)时,你突然想切换到其他分支做一点儿别的事。这时,用git stash する必要がなければ完璧です。

いいねを押す +0
人気のチュートリアル
詳細>
最新のダウンロード
詳細>
ウェブエフェクト
公式サイト
サイト素材
フロントエンドテンプレート