質問

私の仕事は新しい特徴後にコーディングょっとこの機能は独ります。

していくといった既存の未確定の変更新たに支店を設現。

したいリセットの現在の支店を守りながら、既存の作業の新たな特徴です。

役に立ちましたか?

解決

使用以下ます:

git checkout -b <new-branch>

これがあるとして、あなたの現在のブランチを残し作成し、新しいブランチをチェックアウトし、すべての変更を維持します。あなたは、その後にコミットすることができます:

git add <files>

として、あなたの新しいブランチにコミットします:

git commit -m "<Brief description of this commit>"

作業ディレクトリの変更や変更にはまだ枝にも属していないインデックスで上演しました。これらの変更はで終わるだろう。この変化ます。

そのままあなたはの元のブランチをリセットしません、それがまま。最後<old-branch>にコミットまだ同じになります。したがって、あなたはcheckout -b、その後コミットます。

他のヒント

補償光学(ao)および可

  1. 保存現在の変化を温度を隠:

    $ git stash

  2. を作成しましたので、この貯蔵庫は、スイッチの新しい支店:

    $ git stash branch <new-branch> stash@{0}

ヒント:使用タブキーの削減を打つ、赤名です。

また犯 ご本店をコードすが、現したいと考え方を継続することを約束異なる支店:

  1. コピーを現在の歴史に新たに支店、沿い未確定の変更をもたらせ

    git checkout -b <new-feature-branch>
    
  2. 現在のオリジナルの"乱れ"の店頭でのロールバック:(切替)

    git branch -f <previous-branch> <earlier-commit-id>
    

    例えば:

    git branch -f master origin/master
    

    また4犯:

    git branch -f master HEAD~4
    

警告:git branch -f master origin/masterリセットトラッキング情報 のための事が分かりました。で設定した場合にお master 支店を押しかにこれ以外の origin/master その設定が失われようとしています。

代わりに使用 この技術をリセット.その指示を破棄してしまいますの他未確定の変更ます。長期保存を希望する場合、隠しやunstashします。

一般的なシナリオは以下の通りである:私は、新しい機能のための新しいブランチを作成するのを忘れて、古い機能ブランチにすべての作業をしていました。私は、masterブランチにすべての「古い」作業をコミットしている、と私は私の新しいブランチが「マスター」から成長したいです。私は、単一のは私の新しい仕事のコミット行っていません。 ここで分岐構造は次のようになります。 "マスター" - > "Old_feature"

git stash 
git checkout master
git checkout -b "New_branch"
git stash apply
あなたはそれをコミットする場合は、

、あなたはまた、単一のコミットIDを桜選ぶことができます。私は、マスターで作業を開始するとき、多くの場合、これを実行した後、私は私の原点に押し上げ前に、ローカルブランチ/.

git cherry-pick <commitID>
ここのhref="https://git-scm.com/docs/git-cherry-pick">

I使用 @Robin に答え&Iがやったことをすべてを一覧表示する、

git status                               <-- review/list uncommitted changes
git stash                                <-- stash uncommitted changes
git stash branch <new-branch> stash@{1}  <-- create a branch from stash
git add .                                <-- add local changes
git status                               <-- review the status; ready to commit
git commit -m "local changes ..."        <-- commit the changes
git branch --list                        <-- see list of branches incl the one created above
git status                               <-- nothing to commit, working tree (new-branch) is clean
git checkout <old-branch>                <-- switch back

のレポが複数のスタッシュを持っている場合は、新しいブランチに適用する1を参照してください!

git stash list  
  stash@{0}: WIP on ...  
  stash@{1}: WIP on ...

、によって個々のスタッシュを検査
git stash show stash@{1}

:一度にすべてのスタッシュを

または点検

git stash list -p

今、私が前に機能したとは考えていないことをGitHubのデスクトップでこれを行うには本当に簡単な方法は、実際にあります。

あなたがする必要があるのは、GitHubのデスクトップで新しいブランチにスイッチであり、そしてそれは、または新しいブランチにあなたとあなたの変化をもたらすに(スタッシュされます)現在のブランチ上の変更を残すことを求めます。ただ、新しいブランチへの変更をもたらすために、2番目のオプションを選択します。その後、いつものようにコミットすることができます。

こするのに役立つかもしれないすべてのツールを使用GIT

コマンド

スイッチの店舗でもご変更新ます。そのコミットする事ができる。

 $ git checkout -b <new-branch>

TortoiseGIT

を右クリックしてサポートおよびその利用TortoiseGit->スイッチ/精算

enter image description here enter image description here

SourceTree

利用には"購入手続きへ"ボタンを切り替えます。ますので、"チェックアウト"ボタンをタップ後、クリックします。変化から、現在の支店が適用されることになります。そのコミットする事ができる。

enter image description here

ライセンス: CC-BY-SA帰属
所属していません StackOverflow
scroll top