1

私は(ローカルマスターブランチで)機能に取り組んでいましたが、git statusは、3つの変更されたファイルがコミットされていないことを示しました。それで大丈夫です。それから私はライブサイトのバグに気づきました。私は現在の作業を放棄し、バグの迅速な修正を作成したかったのです。

リモートリポジトリのマスターからブランチを作成しました:git checkout -b quickfix origin / master

しかし、git statusは、3つの変更されたファイルがあることを示しています。何故ですか?ファイルを更新せず、リモートからブランチを作成しただけです。

クイックフィックスで作業を開始できるリモート/マスターからのクリーンなブランチが必要です。

4

2 に答える 2

1

変更はstash「フローティング」コミットに保存されるため、バグ修正に取り組んだ後に適用することができます。

$ git stash save "Working on ... - going to bugfix"
$ git status --short # should show only untracked files
$ git checkout bugfix
# work work work
$ git add file1
$ git commit
$ git push # probably a merge and that
$ git checkout master
$ git stash pop # applies the last stash's changes to working copy
于 2012-12-13T17:36:56.060 に答える
0

ブランチを切り替えたからといって Git がファイルを削除することはありません。これは私がすることです(ブランチから始めます:

git add --all
git stash
git checkout quickfix
# do all the work you need to fix the problem and commit 
git checkout master
git stash pop # apply stashed work and remove it 

Git stash は行った変更を保存し、後で他の修正が完了した後にそれらを再適用できます (必要に応じて、stash された作業を別のブランチに複数回適用できます)。

于 2012-12-13T17:37:44.163 に答える