LoginSignup
2
2

More than 5 years have passed since last update.

よく使うGitコマンド

Last updated at Posted at 2015-04-26

一般

git add .
git commit -m "comment"
git push -u origin master dev
git push --force origin master dev

最新のコミットメッセージの変更

git commit --amend -m "新しいメッセージ" # 最新のコミットメッセージの変更

リモート

git remote add origin URL # リモートのAdd
git remote set-url origin URL # リモート(origin)のURL変更

複数のリモート登録

git remote add mysrv URL # originと違う名前(mysrv)指定してリモート追加
git remote set-url mysrv URL # リモート(mysrv)のURL変更

これで
git push -u mysrv dev # mysrvとして登録したURLのリポジトリにブランチdevをプッシュ
とかできる

git remote -v # リモートのURL確認

クローン・プル・チェックアウト・ブランチ・フェッチ

git clone URL # 指定URLのリポジトリをローカルにコピー
git branch -a # ブランチ一覧表示
git branch -d # ブランチの削除
git checkout # ただチェックアウト
git checkout -b dev origin/dev # cloneしてきてローカルにmasterしかないとき、ローカルにdevというブランチを新たに作る、それはリモートoriginのdevと同じ内容。
git pull origin new-branch:new-branch

remoteにあるのが正義,localにあるものはいらないという時は
git reset --hard origin/branch
とするとremoteの内容で完全に上書きされる.(localの情報が失われるので注意)

git fetch # fetch?

git branch -D # Delete Branch

スタッシュ(変更内容のクリーン)

stash save # 現在の作業を一時的に退避
stash list # 退避した作業の一覧を表示
stash drop # 退避した作業を削除
stash clear # 退避した作業を全て削除したい

リベース

古いコミットから生やしたブランチからマージ先のブランチにpull requestを送ると,衝突したら迷惑をかけることになる.そのため事前に最新のマージ先ブランチのコミットにリベースをしてからpull requestを送る.

リベース衝突の解消

衝突した場合,ツリーの一番上に衝突情報が表示される

衝突したファイルを手動で修正し,

git add <衝突したファイル>
git rebase --continue

SourceTreeの場合は衝突したファイルを手動で修正してコミットを押した後,リベースを続けるを選択.

リベースを取りやめたい場合

git rebase --abort  # リベースのキャンセル

それぞれのコミットが差分を保持しているため,最終的な状態が衝突しない状態であったとしても,一つでも衝突するコミットがあると衝突する.

タグ

git tag # タグの一覧表示
git checkout refs/tags/ # タグをチェックアウト
git checkout -b refs/tags/ # ブランチを作成してタグをチェックアウト

リモート上では削除されているのにローカルにまだ参照が残っているブランチの削除

git remote prune --dry-run origin # remoteブランチでは削除されているが、ローカルに参照が残っているブランチを表示
git remote prune origin # すでに削除されているremoteブランチのローカル参照を削除してきれいにする
http://qiita.com/kony/items/f0fb18b04bd5337132e3

設定

git config --global user.name "taro"
git config --global user.email taro@example.ac.jp

追跡されているファイルを後から.gitignoreにファイルに入れた場合

$ git rm -r --cached .

で、すべてadd, commit すると、diffにはgitignoreにいれたファイルの削除分だけ入る。

Git LFS

コミット

$ git lfs install # LFS を使うようにrepository initialize
$ git lfs track "*.jpg" # jpg を LFS の対象にする
$ git add *
$ git commit -m “first commit”
$ git lfs ls-files
# コミットされたLFS対象ファイルが表示される

$ git push origin master
# LFSをSkipしてClone
$ GIT_LFS_SKIP_SMUDGE=1 git lfs clone <url>
2
2
0

Register as a new user and use Qiita more conveniently

  1. You get articles that match your needs
  2. You can efficiently read back useful information
  3. You can use dark theme
What you can do with signing up
2
2