Movatterモバイル変換


[0]ホーム

URL:


YUKI Kaoru, profile picture
Uploaded byYUKI Kaoru
PDF, PPTX166,302 views

Gitのよく使うコマンド

Embed presentation

Download as PDF, PPTX
Gitのよく使うコマンド
よく使うコマンドinit add commit push clone     branchcheckout fetch merge rebase    pullstatus rm reset remote tag    logmergetool revert               19個
init        現在の場所にリポジトリを作成するmkdir foobar; cd foobar; git init
add        対象をバージョン管理に追加するワイルドカードを使うgit add **/*.php強制的に追加git add -f foobar.php部分的に追加git add -i foobar.php
commit        ローカルブランチへの反映git commit全部追加した上でコミットする(非推奨)git commit -a直前のコミットにコミットするgit commit --amend
commit      ローカルブランチへの反映コミット時に起動するエディタは次の環境変数で指定する● GIT_EDITOR● EDITORe.g.) export EDITOR=vimエディタを起動せずにコミットするgit commit -m "message"
push           リモートサーバへの反映git push <remotename> <refspec>ローカルブランチと同名のブランチをリモート上に作成するgit push <remote> <localbranch>別名でpushするgit push <remote> <localbranch>:<remotebranch><refspec>は<localbranch>:<remotebranch>
push          リモートサーバへの反映リモートブランチを削除するgit push --delete <remote> <branchname>git push <remote> :<branchname>プッシュしたリモートブランチをトラッキングするgit push -u <remote> <branchname>強制的にプッシュgit push -f <remote> <branchname>
push          リモートサーバへの反映タグをプッシュするgit push --tags <remote>リモートサーバのタグを削除するgit push --delete <remote> tag_namegit push <remote> :tag_name
push                注意事項git push(remoteとブランチの指定なし)はトラッキングしているローカルブランチを全てプッシュしてしまうので、とても危険ですデフォルトではcurrent branchだけプッシュするようにする設定で安全運用git config --global push.default upstream
clone           リポジトリのコピーを作成するsshを利用git clone ssh://[user@]host[:port]/path/to/repo.git/git clone [user@]host:path/to/repo.git/httpsを利用git clone http[s]://host[:port]/path/to/repo.git/ローカルgit clone [file://]/path/to/repo.git/
branch    ローカルブランチを作成/削除するローカルブランチの一覧git branchリモートブランチの一覧git branch -r <remote>全てのブランチの一覧git branch -a
branch    ローカルブランチを作成/削除するローカルブランチの作成git branch <branchname>ローカルブランチの削除git branch -d <branchname>git branch -D <branchname>リモートブランチの削除git branch -r -d <remote>/<branchname>
branch    ローカルブランチを作成/削除するブランチの移動(名前変更)git -m <oldbranch> <newbranch>git -M <oldbranch> <newbranch>トラッキング先を設定するgit branch --set-upstream <local_branch><remote_branch>これをするとgit push/pullの時にリモートブランチ名を指定しなくても、設定したブランチに対して実行してくれます。
checkout               ブランチを取得するgit checkout <branch>ブランチを作成してチェックアウトgit checkout -b <newbranch> [<startpoint>]リモートブランチのトラッキングブランチを作成してチェックアウトgit checkout -t <remote>/<branch>コミット前の変更を取り消すgit checkout <path> ...
fetch         リモートの状態を更新するgit fetch <remote>全てのリモートブランチを更新するgit fetch --all更新後に、リモートサーバ上に存在しないリモートブランチを削除するgit fetch ( -p | --prune )
merge            ブランチを取り込むgit merge <branch>fast-forwardしないgit merge --no-ff <branch>マージのログを1つに圧縮するgit merge --squash <branch>
merge          fast-forwardとは通常はこうなる1つのコミットとして扱われる      A---B---C topic     /         D---E---F---G---H masterfast-forwardではログを先頭にくっつけてマージする       A---B---C topic      /         D---E---F---G---A'---B'---C' master
merge         fast-forwardとはtopicのなかにmasterの変更が全て入っている場合、これをfast-forwardな関係と言います。      C---D---E topic     /A---B masterこの状態でマージを行うと、次のようになります。A---B---C---D---E master, topic
merge         fast-forwardとは逆にtopicのなかにmasterの変更が全て入っていない場合、fast-forwardな関係にはなりません。       C---D---E topic     /A---B---F---G masterこの状態でマージを行うと、コミットマージが作られて、次のようになります。       C---D---E topic     /          A---B---F---G---H master# SVNはこの形ですね
merge                      squashとはsquashはマージですが、通常のコミットとして扱います。       C---D---E topic     /A---B---F---G master例えば上記の状態で、git merge --squash topicとすると下記の状態になります    C---D---E topic     /A---B-------------F masterFにはC, D, Eの変更が含まれています
merge     fast-forwardかno-ffかsquashかリポジトリの運用ポリシーにより使い分けるffの場合ログが汚染され、機能追加やバグ修正のコミットがどこからどこまでなのか分かりづらくなるたね、個人的no-ffだけで運用して問題ないと思っています。A successful Git branching model でもno-ffが推奨されてるよ!邦訳: http://goo.gl/xFd5g
rebase                 ブランチを統合するgit rebase <branch>次の状態が       C---D---E topic     /A---B---F---G masterこうなります              C'---D'---E' topic             /A---B---F---G master
rebase         コンフリクトが発生したらrebase中にコンフリクトが発生した場合、rebaseが中断され、コンフリクト解決フェイズになります。解決処理後、rebaseを再開するか中断するかそのコミットをスキップするか選択します。マージコミットを作成して再開git rebase --continue中断git rebase --abort今のパッチをスキップして再開git rebase --skip
rebase                 履歴を改竄する過去のコミットを分割したりまとめたりできます。基本的にはサーバにプッシュする前に、ログを綺麗にするために使います。rebase -i <commit>サーバにプッシュ後は、他のブランチのマージやリベースの関係が崩れる恐れがあるので、絶対に行ってはいけません
pull                 fetch & mergegit pull [<remote>] [<branch>]次の2つは等価ですgit pull origin mastergit fetch origin && git merge origin/master次の設定をしていると、git pullだけで<remote>と<branch>を自動解決してくれます。git branch --set-upstream <localbranch><remote>/<remoptebranch>
pull           fetch & rebasemergeの代わりにrebaseを使うこともできます。git pull --rebase <remote> <branch>git pull --rebaseは1.7.2で導入されたもので、比較的新しいオプションです。今まではmergeしか選択できませんでしたが、これにはいくつかの問題がありました。
pull     mergeで処理される問題mergeとrebaseの違いは先程の説明通りです。pullを行う目的は、リモートブランチの変更をトラッキングしているローカルブランチに取り込むことしかありません。つまりはローカルブランチの更新です。ただ追跡しているだけなのに、マージコミットが作成されると、タイムライン上はリモートブランチとローカルブランチは別物扱いとなってしまいます。
pull   いちいち--rebaseを打つのがメンドイメンドイのでデフォルトでrebaseを使うように設定します。<branch>に対するpullでは--rebaseを行うgit config branch.<branch>.rebase trueトラッキングブランチの作成時の上記の設定を自動で付与する。git config --global branch.autosetuprebase always1.7.9以降の場合は次の設定も使えるgit config --global pull.rebase trueこの場合、git config branch.<branch>.rebase.falseとすると、<branch>に対するpullだけはmergeで行われる。
status     現在のステージングの状態を見るgit status慣れたらgit status -sb
rm                削除するgit rm <file>ディレクトリを削除するgit rm -r <dir>ステージングから削除するgit rm --cached <file>
reset             現在から過去を取り消す直前のコミットをステージングの状態まで戻すgit reset --soft HEAD~直前のコミットを完全に戻すgit reset [--mixed] HEAD~直前のコミットを完全に戻して、untrackなものは削除するgit reset --hard HEAD~<commit>まで戻すgit reset ( --soft | --mixed | --hard ) <commit>
reset            現在から過去を取り消す直前のマージを取り消すgit reset --hard ORIG_HEADインタラクティブモードで部分的に戻すgit reset ( -p | --patch ) <commit>
remote             リモートの管理リモートの追加remote add <name> <url>リモートの削除remote rm <name>リモートサーバ上に存在しないリモートブランチの削除remote prune <name>
tag                  タグの管理タグの作成git tag <tagname> [<commit>]タグの削除git tag -d <tagname>署名付きタグの作成git tag ( -s | -u <key_id> ) <tagname>
log            ログを見るデフォルトgit logハッシュと派生したブランチを見やすくしたいgit log --oneline --decorate変更されたファイルとパッチも表示しちゃうgit log --statgit log --patch-with-stat
mergetool   ツールを利用したコンフリクトの解決git mergetoolgit config --global merge.toolで設定したツールで3wayマージを行う。
revert           過去コミットを取り消すgit revert <commit>過去のコミットを取り消すために、逆マージをします。resetやrebase -iと違い、歴史を改竄せずに、取り消したというコミットを残します。
これでもまだほんの一部        1.7.11.3時点でのコマンド数: 152add diff lost-found prune-packed shortlog add--interactive diff-files ls-files pull show amdiff-index ls-remote push show-branch annotate diff-tree ls-tree quiltimport show-indexapply difftool mailinfo read-tree show-ref archive difftool--helper mailsplit rebase stagebisect fast-export merge receive-pack stash bisect--helper fast-import merge-base reflogstatus blame fetch merge-file relink stripspace branch fetch-pack merge-index remotesubmodule bundle filter-branch merge-octopus remote-ext svn cat-file fmt-merge-msgmerge-one-file remote-fd symbolic-ref check-attr for-each-ref merge-ours remote-ftp tagcheck-ref-format format-patch merge-recursive remote-ftps tar-tree checkout fsck merge-resolve remote-http unpack-file checkout-index fsck-objects merge-subtree remote-httpsunpack-objects cherry gc merge-tree remote-testgit update-index cherry-pick get-tar-commit-id mergetool repack update-ref clean grep mktag replace update-server-infoclone hash-object mktree repo-config upload-archive column help mv request-pullupload-pack commit http-backend name-rev rerere var commit-tree http-fetch notesreset verify-pack config http-push p4 rev-list verify-tag count-objects imap-send pack-objects rev-parse web--browse credential-cache index-pack pack-redundant revertwhatchanged credential-cache--daemon init pack-refs rm write-tree credential-store init-db patch-id send-pack daemon instaweb peek-remote sh-i18n--envsubst describe logprune shell
ネットで読めるいいものProGithttp://git-scm.com/book/jaGitをボトムアップから理解するhttp://goo.gl/1qPB4A successful Git branching modelhttp://goo.gl/xFd5g
書籍入門Githttp://amzn.to/N8YyXQ入門githttp://amzn.to/SevHohGitによるバージョン管理http://amzn.to/OMG8Zo
      ._       \ヽ, ,、        `''|/ノ         .|     _   |     \`ヽ、|      \, V         `L,,_         |ヽ、)  ,、        /    ヽYノ       /    r''ヽ、.|      |     `ー-ヽ|ヮ      |       `|      |.        |      ヽ、      |        ヽ____ノ        /_ノ ' ヽ_\      /(≡)   (≡)\     /::::::⌒(__人__)⌒::::: \     |     |r┬-|     |     \      `ー'´     /     /          \     (  |          |  )     \|    э    |/       (    ,,,,    ,ノ       \  、(U)ノ ノ         \/  /            ┼ヽ  -|r‐、. レ |         /  /\            d⌒) ./| _ノ  __ノ

Recommended

PDF
いつやるの?Git入門
PDF
いつやるの?Git入門 v1.1.0
PDF
やりなおせる Git 入門
PDF
はじめてのGit forデザイナー&コーダー
PDF
15分でわかるGit入門
PDF
ノンプログラマでも今日から使える「Git」でバージョン管理
PDF
Gitはじめの一歩
PDF
NextGen Server/Client Architecture - gRPC + Unity + C#
PDF
こわくない Git
KEY
一人でもはじめるGitでバージョン管理
PDF
Git flowの活用事例
PDF
デザイナのためのGit入門
PDF
第二回CTF勉強会資料
PDF
Gitの便利ワザ
PDF
ドメイン駆動設計のための Spring の上手な使い方
PDF
もしWordPressユーザーがGitを使ったら 〜WordPressテーマを共同編集しよう〜
PDF
Git Tutorial 教學
PDF
世界でいちばんわかりやすいドメイン駆動設計
PDF
ゲーム開発者のための C++11/C++14
PPTX
MVPパターンによる設計アプローチ「あなたのアプリ報連相できてますか」
PDF
はじめようGit
PDF
Gitを使ってみよう
PDF
すごい constexpr たのしくレイトレ!
PDF
PostgreSQLのトラブルシューティング@第5回中国地方DB勉強会
PDF
コンセプトから理解するGitコマンド
PDF
Dockerfile を書くためのベストプラクティス解説編
PPTX
Map
PPTX
なぜなにリアルタイムレンダリング
PPT
SVN経験者のためのGIT入門
PPTX
Git勉強会

More Related Content

PDF
いつやるの?Git入門
PDF
いつやるの?Git入門 v1.1.0
PDF
やりなおせる Git 入門
PDF
はじめてのGit forデザイナー&コーダー
PDF
15分でわかるGit入門
PDF
ノンプログラマでも今日から使える「Git」でバージョン管理
PDF
Gitはじめの一歩
PDF
NextGen Server/Client Architecture - gRPC + Unity + C#
いつやるの?Git入門
いつやるの?Git入門 v1.1.0
やりなおせる Git 入門
はじめてのGit forデザイナー&コーダー
15分でわかるGit入門
ノンプログラマでも今日から使える「Git」でバージョン管理
Gitはじめの一歩
NextGen Server/Client Architecture - gRPC + Unity + C#

What's hot

PDF
こわくない Git
KEY
一人でもはじめるGitでバージョン管理
PDF
Git flowの活用事例
PDF
デザイナのためのGit入門
PDF
第二回CTF勉強会資料
PDF
Gitの便利ワザ
PDF
ドメイン駆動設計のための Spring の上手な使い方
PDF
もしWordPressユーザーがGitを使ったら 〜WordPressテーマを共同編集しよう〜
PDF
Git Tutorial 教學
PDF
世界でいちばんわかりやすいドメイン駆動設計
PDF
ゲーム開発者のための C++11/C++14
PPTX
MVPパターンによる設計アプローチ「あなたのアプリ報連相できてますか」
PDF
はじめようGit
PDF
Gitを使ってみよう
PDF
すごい constexpr たのしくレイトレ!
PDF
PostgreSQLのトラブルシューティング@第5回中国地方DB勉強会
PDF
コンセプトから理解するGitコマンド
PDF
Dockerfile を書くためのベストプラクティス解説編
PPTX
Map
PPTX
なぜなにリアルタイムレンダリング
こわくない Git
一人でもはじめるGitでバージョン管理
Git flowの活用事例
デザイナのためのGit入門
第二回CTF勉強会資料
Gitの便利ワザ
ドメイン駆動設計のための Spring の上手な使い方
もしWordPressユーザーがGitを使ったら 〜WordPressテーマを共同編集しよう〜
Git Tutorial 教學
世界でいちばんわかりやすいドメイン駆動設計
ゲーム開発者のための C++11/C++14
MVPパターンによる設計アプローチ「あなたのアプリ報連相できてますか」
はじめようGit
Gitを使ってみよう
すごい constexpr たのしくレイトレ!
PostgreSQLのトラブルシューティング@第5回中国地方DB勉強会
コンセプトから理解するGitコマンド
Dockerfile を書くためのベストプラクティス解説編
Map
なぜなにリアルタイムレンダリング

Similar to Gitのよく使うコマンド

PPT
SVN経験者のためのGIT入門
PPTX
Git勉強会
PDF
Gitを理解するためにおさえておきたい3つの図(工事中)
 
KEY
Git (実践入門編)
PDF
Git勉強会
PPTX
Git svnではじめる忍者のごとく潜むgit
KEY
20120324 git training
PDF
Git勉強会 2016 Gitで卒論を管理しよう回
PDF
Gitの使い方あれこれ
PDF
Git入門-概念編
PDF
Gitとちょっと仲良くなるために覚えたことまとめ
PPTX
git入門(講義っぽく)
PDF
猫にはわからないGit講座
PDF
はじめてのGit
PPTX
Git 勉強会
PPTX
いいこんぶGitマニュアル
PPTX
Git introduction2
KEY
Git tutorial
PDF
Python for Data Analysis第1回勉強会(+git入門)
PDF
Git overview (v 0.96)
SVN経験者のためのGIT入門
Git勉強会
Gitを理解するためにおさえておきたい3つの図(工事中)
 
Git (実践入門編)
Git勉強会
Git svnではじめる忍者のごとく潜むgit
20120324 git training
Git勉強会 2016 Gitで卒論を管理しよう回
Gitの使い方あれこれ
Git入門-概念編
Gitとちょっと仲良くなるために覚えたことまとめ
git入門(講義っぽく)
猫にはわからないGit講座
はじめてのGit
Git 勉強会
いいこんぶGitマニュアル
Git introduction2
Git tutorial
Python for Data Analysis第1回勉強会(+git入門)
Git overview (v 0.96)

Gitのよく使うコマンド

  • 1.
  • 2.
    よく使うコマンドinit add commitpush clone branchcheckout fetch merge rebase pullstatus rm reset remote tag logmergetool revert 19個
  • 3.
    init 現在の場所にリポジトリを作成するmkdir foobar; cd foobar; git init
  • 4.
    add 対象をバージョン管理に追加するワイルドカードを使うgit add **/*.php強制的に追加git add -f foobar.php部分的に追加git add -i foobar.php
  • 5.
    commit ローカルブランチへの反映git commit全部追加した上でコミットする(非推奨)git commit -a直前のコミットにコミットするgit commit --amend
  • 6.
    commit ローカルブランチへの反映コミット時に起動するエディタは次の環境変数で指定する● GIT_EDITOR● EDITORe.g.) export EDITOR=vimエディタを起動せずにコミットするgit commit -m "message"
  • 7.
    push リモートサーバへの反映git push <remotename> <refspec>ローカルブランチと同名のブランチをリモート上に作成するgit push <remote> <localbranch>別名でpushするgit push <remote> <localbranch>:<remotebranch><refspec>は<localbranch>:<remotebranch>
  • 8.
    push リモートサーバへの反映リモートブランチを削除するgit push --delete <remote> <branchname>git push <remote> :<branchname>プッシュしたリモートブランチをトラッキングするgit push -u <remote> <branchname>強制的にプッシュgit push -f <remote> <branchname>
  • 9.
    push リモートサーバへの反映タグをプッシュするgit push --tags <remote>リモートサーバのタグを削除するgit push --delete <remote> tag_namegit push <remote> :tag_name
  • 10.
    push 注意事項git push(remoteとブランチの指定なし)はトラッキングしているローカルブランチを全てプッシュしてしまうので、とても危険ですデフォルトではcurrent branchだけプッシュするようにする設定で安全運用git config --global push.default upstream
  • 11.
    clone リポジトリのコピーを作成するsshを利用git clone ssh://[user@]host[:port]/path/to/repo.git/git clone [user@]host:path/to/repo.git/httpsを利用git clone http[s]://host[:port]/path/to/repo.git/ローカルgit clone [file://]/path/to/repo.git/
  • 12.
    branch ローカルブランチを作成/削除するローカルブランチの一覧git branchリモートブランチの一覧git branch -r <remote>全てのブランチの一覧git branch -a
  • 13.
    branch ローカルブランチを作成/削除するローカルブランチの作成git branch <branchname>ローカルブランチの削除git branch -d <branchname>git branch -D <branchname>リモートブランチの削除git branch -r -d <remote>/<branchname>
  • 14.
    branch ローカルブランチを作成/削除するブランチの移動(名前変更)git -m <oldbranch> <newbranch>git -M <oldbranch> <newbranch>トラッキング先を設定するgit branch --set-upstream <local_branch><remote_branch>これをするとgit push/pullの時にリモートブランチ名を指定しなくても、設定したブランチに対して実行してくれます。
  • 15.
    checkout ブランチを取得するgit checkout <branch>ブランチを作成してチェックアウトgit checkout -b <newbranch> [<startpoint>]リモートブランチのトラッキングブランチを作成してチェックアウトgit checkout -t <remote>/<branch>コミット前の変更を取り消すgit checkout <path> ...
  • 16.
    fetch リモートの状態を更新するgit fetch <remote>全てのリモートブランチを更新するgit fetch --all更新後に、リモートサーバ上に存在しないリモートブランチを削除するgit fetch ( -p | --prune )
  • 17.
    merge ブランチを取り込むgit merge <branch>fast-forwardしないgit merge --no-ff <branch>マージのログを1つに圧縮するgit merge --squash <branch>
  • 18.
    merge fast-forwardとは通常はこうなる1つのコミットとして扱われる A---B---C topic / D---E---F---G---H masterfast-forwardではログを先頭にくっつけてマージする A---B---C topic / D---E---F---G---A'---B'---C' master
  • 19.
    merge fast-forwardとはtopicのなかにmasterの変更が全て入っている場合、これをfast-forwardな関係と言います。 C---D---E topic /A---B masterこの状態でマージを行うと、次のようになります。A---B---C---D---E master, topic
  • 20.
    merge fast-forwardとは逆にtopicのなかにmasterの変更が全て入っていない場合、fast-forwardな関係にはなりません。 C---D---E topic /A---B---F---G masterこの状態でマージを行うと、コミットマージが作られて、次のようになります。 C---D---E topic / A---B---F---G---H master# SVNはこの形ですね
  • 21.
    merge squashとはsquashはマージですが、通常のコミットとして扱います。 C---D---E topic /A---B---F---G master例えば上記の状態で、git merge --squash topicとすると下記の状態になります C---D---E topic /A---B-------------F masterFにはC, D, Eの変更が含まれています
  • 22.
    merge fast-forwardかno-ffかsquashかリポジトリの運用ポリシーにより使い分けるffの場合ログが汚染され、機能追加やバグ修正のコミットがどこからどこまでなのか分かりづらくなるたね、個人的no-ffだけで運用して問題ないと思っています。A successful Git branching model でもno-ffが推奨されてるよ!邦訳: http://goo.gl/xFd5g
  • 23.
    rebase ブランチを統合するgit rebase <branch>次の状態が C---D---E topic /A---B---F---G masterこうなります C'---D'---E' topic /A---B---F---G master
  • 24.
    rebase コンフリクトが発生したらrebase中にコンフリクトが発生した場合、rebaseが中断され、コンフリクト解決フェイズになります。解決処理後、rebaseを再開するか中断するかそのコミットをスキップするか選択します。マージコミットを作成して再開git rebase --continue中断git rebase --abort今のパッチをスキップして再開git rebase --skip
  • 25.
    rebase 履歴を改竄する過去のコミットを分割したりまとめたりできます。基本的にはサーバにプッシュする前に、ログを綺麗にするために使います。rebase -i <commit>サーバにプッシュ後は、他のブランチのマージやリベースの関係が崩れる恐れがあるので、絶対に行ってはいけません
  • 26.
    pull fetch & mergegit pull [<remote>] [<branch>]次の2つは等価ですgit pull origin mastergit fetch origin && git merge origin/master次の設定をしていると、git pullだけで<remote>と<branch>を自動解決してくれます。git branch --set-upstream <localbranch><remote>/<remoptebranch>
  • 27.
    pull fetch & rebasemergeの代わりにrebaseを使うこともできます。git pull --rebase <remote> <branch>git pull --rebaseは1.7.2で導入されたもので、比較的新しいオプションです。今まではmergeしか選択できませんでしたが、これにはいくつかの問題がありました。
  • 28.
    pull mergeで処理される問題mergeとrebaseの違いは先程の説明通りです。pullを行う目的は、リモートブランチの変更をトラッキングしているローカルブランチに取り込むことしかありません。つまりはローカルブランチの更新です。ただ追跡しているだけなのに、マージコミットが作成されると、タイムライン上はリモートブランチとローカルブランチは別物扱いとなってしまいます。
  • 29.
    pullいちいち--rebaseを打つのがメンドイメンドイのでデフォルトでrebaseを使うように設定します。<branch>に対するpullでは--rebaseを行うgit config branch.<branch>.rebase trueトラッキングブランチの作成時の上記の設定を自動で付与する。git config --global branch.autosetuprebase always1.7.9以降の場合は次の設定も使えるgit config --global pull.rebase trueこの場合、git config branch.<branch>.rebase.falseとすると、<branch>に対するpullだけはmergeで行われる。
  • 30.
    status 現在のステージングの状態を見るgit status慣れたらgit status -sb
  • 31.
    rm 削除するgit rm <file>ディレクトリを削除するgit rm -r <dir>ステージングから削除するgit rm --cached <file>
  • 32.
    reset 現在から過去を取り消す直前のコミットをステージングの状態まで戻すgit reset --soft HEAD~直前のコミットを完全に戻すgit reset [--mixed] HEAD~直前のコミットを完全に戻して、untrackなものは削除するgit reset --hard HEAD~<commit>まで戻すgit reset ( --soft | --mixed | --hard ) <commit>
  • 33.
    reset 現在から過去を取り消す直前のマージを取り消すgit reset --hard ORIG_HEADインタラクティブモードで部分的に戻すgit reset ( -p | --patch ) <commit>
  • 34.
    remote リモートの管理リモートの追加remote add <name> <url>リモートの削除remote rm <name>リモートサーバ上に存在しないリモートブランチの削除remote prune <name>
  • 35.
    tag タグの管理タグの作成git tag <tagname> [<commit>]タグの削除git tag -d <tagname>署名付きタグの作成git tag ( -s | -u <key_id> ) <tagname>
  • 36.
    log ログを見るデフォルトgit logハッシュと派生したブランチを見やすくしたいgit log --oneline --decorate変更されたファイルとパッチも表示しちゃうgit log --statgit log --patch-with-stat
  • 37.
    mergetoolツールを利用したコンフリクトの解決git mergetoolgit config --global merge.toolで設定したツールで3wayマージを行う。
  • 38.
    revert 過去コミットを取り消すgit revert <commit>過去のコミットを取り消すために、逆マージをします。resetやrebase -iと違い、歴史を改竄せずに、取り消したというコミットを残します。
  • 39.
    これでもまだほんの一部 1.7.11.3時点でのコマンド数: 152add diff lost-found prune-packed shortlog add--interactive diff-files ls-files pull show amdiff-index ls-remote push show-branch annotate diff-tree ls-tree quiltimport show-indexapply difftool mailinfo read-tree show-ref archive difftool--helper mailsplit rebase stagebisect fast-export merge receive-pack stash bisect--helper fast-import merge-base reflogstatus blame fetch merge-file relink stripspace branch fetch-pack merge-index remotesubmodule bundle filter-branch merge-octopus remote-ext svn cat-file fmt-merge-msgmerge-one-file remote-fd symbolic-ref check-attr for-each-ref merge-ours remote-ftp tagcheck-ref-format format-patch merge-recursive remote-ftps tar-tree checkout fsck merge-resolve remote-http unpack-file checkout-index fsck-objects merge-subtree remote-httpsunpack-objects cherry gc merge-tree remote-testgit update-index cherry-pick get-tar-commit-id mergetool repack update-ref clean grep mktag replace update-server-infoclone hash-object mktree repo-config upload-archive column help mv request-pullupload-pack commit http-backend name-rev rerere var commit-tree http-fetch notesreset verify-pack config http-push p4 rev-list verify-tag count-objects imap-send pack-objects rev-parse web--browse credential-cache index-pack pack-redundant revertwhatchanged credential-cache--daemon init pack-refs rm write-tree credential-store init-db patch-id send-pack daemon instaweb peek-remote sh-i18n--envsubst describe logprune shell
  • 40.
  • 41.
  • 42.
          ._      \ヽ, ,、        `''|/ノ         .|     _   |     \`ヽ、|      \, V         `L,,_         |ヽ、)  ,、        /    ヽYノ       /    r''ヽ、.|      |     `ー-ヽ|ヮ      |       `|      |.        |      ヽ、      |        ヽ____ノ        /_ノ ' ヽ_\      /(≡)   (≡)\     /::::::⌒(__人__)⌒::::: \     |     |r┬-|     |     \      `ー'´     /     /          \     (  |          |  )     \|    э    |/       (    ,,,,    ,ノ       \  、(U)ノ ノ         \/  /            ┼ヽ  -|r‐、. レ |         /  /\            d⌒) ./| _ノ  __ノ

[8]ページ先頭

©2009-2025 Movatter.jp