2017-01-13 8 views
0

私はローカルリポジトリに多くの変更をコミットしましたが、私はそれらのうちのほんの一部をプッシュしたいと思います。出来ますか?私はすべての変更を加えたリスト(プッシュ前)を持っていますが、ほんの少しだけプッシュする必要があります。この変更を私の地元の再建室から戻したいと思います。プッシュしたい変更のみでパッチを作成しましたが、ローカルリポジトリから変更を削除することはできません。 git reset hardを使用しようとしましたが、私が望むように動作しません。Git - コミットされた変更をローカルリポジトリから戻す

+0

可能な複製を行うことができます[どのようにあなたの地元のgitの一部がコミットのみプッシュしますか?](http://stackoverflow.com/あなたのローカルのgitコミットの質問)/ 604399/how-do-you-push-only-some-of-your-local-git-commits) – sigy

+0

関連項目:[git-pushing specific commit](https://stackoverflow.com/questions/3230074/ – sigy

+0

@sigy OPの問題はローカルの履歴を変更したいので違いがあると思います – Dunno

答えて

2

あなたは本当に、本当にはただ不要なコミットを削除したい場合は、

git rebase -i <sha_of_commit_before_those_that_are_unwanted> 

を行うと、あなたはを取り除きたいコミットすると、その後の行を削除します。

しかし、それらは消え、戻ってそれらを得ることができない場合がありますコミットすることを念頭に置いてクマ。おそらく、それらのコミットを一時的なリモートブランチにプッシュするか、それらのローカルブランチを作成しますか?

今、あなたはあなたのコミットを取り除く得ていることを、あなたは単純なgit push origin branch

+0

まあ、一時的なブランチを作成し、ローカルのリポジトリからこのブランチに変更をコミットして問題を解決する必要がある場合、私はそうですか?それは私が考える安全な方法です。 – allocer

+1

@allocerはい、ローカルブランチを作成するとコミットも保持されます。私はちょうど追加の安全のためにリモートにプッシュすることを好む – Dunno

+0

私は新しいローカルブランチを作成した、私のすべての変更をメインブランチに戻って、プッシュウィンドウを開く。ローカルの変更は以前と同じです。これを解決するには? – allocer

関連する問題