3

私のローカルリポジトリが現在、オリジンの背後にある1つのコミットであるとします。ローカルリポジトリで、元のリポジトリと競合しない変更をコミットするとします。最初に原点から変更をプル/マージせずに、この変更を原点にプッシュするにはどうすればよいですか?

4

3 に答える 3

3

わかりました。早送り以外のプッシュで拒否されました。リモートから最新の更新を取得したくない理由があります。変更を分岐する必要があることは明らかだと思います。

したがって、あなたのケースでは HEAD~1 の共通点 HEAD~n にブランチを作成しましょう:

git branch myfeat HEAD~1

次に早送りします。

git checkout myfeat
git merge master

新しいブランチには共通点があるので、次のようにします。

git push origin myfeat

リモートリポジトリは次のようになります。

--X---X--X--Xbug      (master)
          \
           \--Xfeat   (myfeat)

他の人があなたの機能をマージ/リベースできるようになりました。最終的には、バグを修正してローカルでプルするか、カスタム ローカル マスターを維持するため、わずかに異なるワークフローを考案する必要があります。

于 2012-05-20T04:30:54.787 に答える
0

あなたが説明したことはできませんが、あなたが望むのは次のとおりです。

git pull --rebase
git push

上記のコマンドは、ローカル リポジトリとリモート リポジトリを適切に (マージ コミットを作成せずに) マージし、ローカル コミットをリモートにプッシュします。

于 2012-05-17T09:35:21.333 に答える
0

彼が変更のバックアップを取得するためだけに、リモートにプッシュしたい可能性があります。

git push origin HEAD:refs/heads/some_branchname_not_in_use

私は通常trash/somebranchname、これらのことを使用して、目的が明らかであるようにします。

于 2012-05-17T09:45:58.890 に答える