Git/操作/ワーク系

ワークとかローカルとか作業コピーとか言われている実際にプログラミングの際に編集するファイル群に関する操作

作業コピーを過去のある時点の状態にする

これはブランチ間移動と同じようなやり方でできる

$ git checkout xxxxxxxxxxxxxxxxxx

xxxxはリビジョンのハッシュ。ハッシュは全部入力する必要なく一意に確定できるだけの長さがあればいい

現在の作業コピー状態をコミットせずに一時的に保存する

ブランチ間の移動をしたいのだがコミットするほどモノが出来上がってない場合一時的なスタック領域へ 作業コピーの未コミットの差分を保存しておくことができる

$ git stash

保存したものをもとに戻す時は

$ git stash pop

になる。

この操作はパッチ的に行われるので、必ずしも stash して、変更が取り除かれたリビジョン状態のワークそのものでなくてもよい。

よくやるのが upstream の取り込みである。hoge branch で作業しているとして

  • stash
  • checkout master
  • pull upstream master
  • push origin master
  • checkout hoge
  • rebase master
  • stash pop

のように操作すると master を最新化しつつその変更分を branch にも取り込めて作業も継続できる。

現在の作業コピーへの変更をすべてなかったことにする

$ git reset --hard

作業コピーの特定のファイルの操作をなかったことにする(checkout, commit した状態に戻す)

$ git checkout -- hoge/piyo/fuga.js

tig ならば status 表示で対象で !

vcs/git/ope/work/start.txt · 最終更新: 2020-02-26 10:58 by ore