|
$ git tag <tag-name>-aも-sもないと軽量版のtagで、単なる目印のポインターでしかない。-aを付けると、commitの時と同様に注釈を付け、誰がtagを付けたかを記録できる。-sは更に厳密で、秘密鍵を持っていればtagに署名をすることができる。
$ git tag -a <tag-name> -m 'comment'
$ git tag -s <tag-name> -m 'comment'
$ git taggit logにタグを表示するには、次のようにする。
$ git log --decorate=fulltagをキーとして見ることもでき、ハッシュの代わりにタグ名を書くだけである。注釈や署名があれば、それが最初に表示される。
$ git show <tag-name>tagを削除するには、次のようにする。
$ git tag -d <tag-name>このtagからbranchを作る場合は、次のようにする。
$ git chekout -b <branch name> <tag-name>また、このchekout -bオプションは、次と同じ動作であり、次の二つの操作を実施しても同じ結果となる。
$ git branch <branch name> <tag-name>
$ git checkout <branch name>
short SHA1 XXXX is ambiguous.
short SHA1 XXXXXXX is ambiguousとなってしまい、そのコミット内容をどうやっても表示することができないということである。
$ git reset --hard HEADまたは
$ git checkout HEAD -- .特定のファイルだけ、編集や削除を戻すときは、ファイル名が <ファイル名> だとすると、
$ git checkout HEAD -- <ファイル名>でだいたい戻る。
$ git restore --staged <ファイル名>
$ git rebase -i HEAD^^^^^Vimなど設定したエディターが開き戻した分までのコミットが出てくるため、編集したいコミットの頭の pick を edit に書き換える。Vimなら書き換えたあと、:wq などで書き込めば、歴史改竄の作業が始まる。
$ git add sample.txtこれで当該のコミットに、sample.txtが追加される。
$ git commit --amend --no-edit
$ git rebase --continue先にeditに書き換えた全てのコミットの書き換えが終わると、修正の作業は終了となる。
$ git push --set-upstream origin nowbranchこの方法でpush後は、特に何も指定しなくても、pushだけでnowbranchの内容がpushできるようになる。
$ git add <ファイル名>実際には様々なオプションがあり、無視ファイルの設定などもあるが、もっとも単純な方法はこの通りである。
$ git commitGitにおけるコミットは、手元にあるリポジトリのみに反映される。
$ git commit -m "commit message"
$ git checkout <ファイル名 または ブランチ名>checkoutは、指定されたファイルをインデックスに記録されている状態に復帰させる。
$ git checkout hoge.c
$ git checkout HEAD <ファイル名 または ブランチ名>Gitでは、「現時点での最新のコミット」をHEADという。
$ git pull <repository name>逆に、リモートリポジトリに自分のリポジトリの内容を送信するするには、次のようにする。
$ git push <repository name> <branch name>
$ git config --global user.name "Null Potter"
$ git config --global user.email null.potter@example.com
$ git config --global core.editor 'vim -c "set fenc=utf-8"'
# リポジトリの作成完全な空が好みでない場合は、後々の編集は別途コミットで実施する方が望ましいと誰もが思うような、ほぼ空のreadmeをコミットするというのも定番である。
$ git init
# 最初のコミット
$ git commit --allow-empty -m "最初のコミット"
$ echo "# xxx" >> README.md
$ git init
$ git add README.md
$ git commit -m "最初のコミット"