Gitのcommitコメントの書き直し
# 直前のコメントを書き直し
git commit --amend -m "cssを修正"
# 最新バージョンのみを取得する
Git clone —depth 1 ***
普段使うコマンドは
* git clone (他のgitサーバーからリポジトリをコピー)
* git pull/push (他のgitサーバー(リモート)から変更を取得・送信)
他のマシンとやり取りするのは基本push/pullだけです。以下はローカルでの操作です。
* git checkout(ブランチやタグを取り出し)
* git status(変更ファイル、ブランチを確認)
* git branch (ローカルブランチを作る)
* git add/rm/mv (コマンド名のまま追加・削除・名前変更)
* git stash(邪魔な変更が在る時に一時的に変更を待避・待避した差分を戻す)
* git commit(変更をローカルにコミット・確定)
* git commit —amend(—amendは前のコミットを変更するオプションでよく使います)
* git diff (差分表示)
$ git diff f9ff469..62ec083 -- src/js/object.js
*
* git cherry-pick(他のブランチのコミット差分(=一部)をいただく)
* git merge(他のブランチの変更を全部いただく)
* git reset(ローカルの変更を無かった事にする。サーバーにpush済みは無かったことにできない)
SVNからだとブランチが別ディレクトリでない事が使い勝手が悪いと感じる原因だと思います。私もよく使うブランチは別ディレクトリにしてSVN的に使っています。
今のgitにはworktreeと呼ばれるブランチを別ディレクトリで管理するコマンドも付属しています。別のディレクトリにcloneするのとは全く違い、同じローカルのリポジトリなのでmergeやcherry-pickできます。
1. git checkout <ブランチ名>
2. git add worktree ../<ブランチ名> <ブランチ名>
これだけで別ディレクトリ(上の例だと ../<ブランチ名>)にブランチを保存して作業できます。(SVNのブランチと同じ感じで使えるようになる)
SVNやCVSを使っていた時はローカルで変更管理ができなかったりしたので、RCSを使っていたりして面倒でした。gitだとローカルの変更管理も容易なので慣れるとSVNとは異次元の使いやすさです。