私はローカルマシン上でマスターコードの最新バージョンを取得しようとしていますが、ツリーの後の部分で行われている現在の作業は削除されません。これをgitでどのように達成するのですか?私のコードの最後のバージョンをgitで入手しようとしています
私は私のローカルマシンが、それ以上のマスターバージョンで起こっているそれらの変更を削除せずに「新規アイテム」バージョンで、コードを持っていると思います。
私はローカルマシン上でマスターコードの最新バージョンを取得しようとしていますが、ツリーの後の部分で行われている現在の作業は削除されません。これをgitでどのように達成するのですか?私のコードの最後のバージョンをgitで入手しようとしています
私は私のローカルマシンが、それ以上のマスターバージョンで起こっているそれらの変更を削除せずに「新規アイテム」バージョンで、コードを持っていると思います。
開いているエディタを閉じると、ファイルをその下から変更すると文句を言います。完了
git checkout master^
:最後はマスターブランチにコミットする前にインクルードが行わコミット
git stash
をチェックアウト:最後のコミット以降(Gitが追跡しているファイルで)
スタッシュ変更!
git checkout master
git stash pop
この素晴らしいGit bookをチェックアウト:バックあなたはスタート地点に到達するために
。
作業ディレクトリを保存し、復元に使用
git stash
git stash pop
。
あなたがプッシュされていないと、マージ競合が発生しますいくつかのコミットをしていた場合、これは、コミットまだプッシュされていないを保存し、最新のコードを取得し、それを適用した後、保存を入れます
git rebase
を使用最新のコミットの上にコミットします。そして、あなたは完了です。
EDIT:あなたはコードをマージ競合がすでにコミットしないようにしたい場合は、すべてのコミットを取るだろうと
git reset --soft
を使用するが、まだコードをプッシュして、インデックスに戻ってそれを入れていません。その後、それを隠して、マスターから引き離すことができます。
「rebase」は最新のコードを取得しないと思います。また、マージを行う際にいくつかの競合がありましたが、リベースも使用すると表示されます。 – svick
私は 'rebase'がフェッチをしているとは思わない。 @sciritaiは 'fetch'を回すコードを強調していました。すなわち、それを「隠す」、「フェッチする」、「ポップする」、そしておそらくは「リベース」することができる。 –
私は別の解決策で自分の答えを更新しました。 – sciritai