TakayukiKoyama Geek Blog

Create, Entertain, Experience

Git作業コマンド集

よく使うGitコマンドをメモしておく。(随時追記)

リポジトリをclone

$ git clone https://github.com/tkoyama1988/git_training.git
$ cd git_training

リモートからbranchをコピー

$ git checkout -b sample origin/sample

うまくいかないときは一旦リモートbranch情報を更新

$ git fetch --prune

branchをコピー

$ git branch dst-branch src-branch

コミットの流れ

$ git add <対象ファイルパス>
$ git commit -m "コメント"

(addの他の処理)

rmコマンドなどで削除されたファイル以外の新規or変更ファイルを追加

$ git add .

新規ファイル以外の変更ファイルを追加

$ git add -u

削除も含めてすべての管理下ファイルを追加

$ git add -A

拡張子がrbのファイルのみ追加

$ git add *.rb

pushする

$ git push origin remote_branch

branch作成

$ git checkout

branchの確認

$ git branch (ローカルブランチを確認)
$ git branch -r (リモートブランチを確認)
$ git branch -a (すべてのブランチを確認)

BのブランチにA(主にmaster)のブランチをrebaseさせる

$ git checkout A
$ git pull (最新に更新)
$ git checkout B
$ git rebase A

 大抵、コンフリクトが発生する。

・修正してgit addしたら

$ git rebase --continue

・修正したけど、変更がないなら

$ git rebase --skip

・rebaseを諦める。rebaseする前のBに戻す。

$ git rebase --abort

 rebase完了。remoteにpushする。

$ git push origin B

 rebaseによってpushがうまくいかないときはforceする。forceは良くないっぽいけどgit diffで確認して、rebaseが問題ない場合は他に方法はあるのだろうか?

$ git push -f origin B

参考

git add -A と git add . と git add -u の違い - nekovaの日記

Pull Request 後にfork 元リポジトリのmasterの変更を rebase で追随してpush する。 · GitHub

GitHubへpull requestする際のベストプラクティス - hnwの日記

広告を非表示にする