Help us understand the problem. What is going on with this article?

よく使うgitコマンド一覧

More than 1 year has passed since last update.

よく使うgitコマンドメモ

運用系

1) リモートリポジトリをローカルにクローン

git clone [リモートリポジトリURL] [ローカルディレクトリ]

2) 通常ワークフロー: 編集〜コミット〜push

①ローカルリポジトリを最新状態に更新

git pull

②編集用ブランチを作って遷移

git branch [ブランチ名]
git checkout [ブランチ名]

※デフォルトではmasterブランチ(統合ブランチ)だが、追加機能やissue単位でブランチを作成して(トピックブランチ)作業をするのが基本

③ファイル編集後にコミット

git status
git add [編集ファイル名]
git commit -m "[コメント(編集内容など)]"

status で変更のあったファイル一覧を確認できる。
commit用の対象ファイル追加は add だが、ファイル削除の場合は rm。
add . で一括追加できる。(rm . はできない)

④リモートリポジトリにpush

git push origin [ブランチ名]

ローカルのmasterブランチをリモートのmasterブランチにPushすると、ローカルの編集がそのまま反映されてしまう。
通常はブランチを分け、第3者にチェック依頼(Pull Request)して、第3者がチェック後にマージする流れが基本。

⑤リモートリポジトリでマージ

GitHubやbacklog、gitbucketなどのリポジトリ管理ツールでは、GUIベースでPull Requestやコード差分のチェック、マージなどの操作ができる。
第3者がトピックブランチの内容をチェックして、問題なければ統合ブランチ(master)にマージする。
マージされたコードはサーバ環境でPullすることで反映できる。

3)その他

①git logのツリーを見る

git log --graph --all

②remoteリポジトリを確認

git remote -v

3) ハマり系

①remoteの内容でlocalを強制上書き

conflictでハマって一からやり直したい時
※remoteリポジトリがupstreamの場合の例

git fetch upstream master
git reset --hard upstream/master

②remoteに強制上書き(push)

結構危険な最終手段

git push -f origin master

③変更内容を全てチャラに

前commit状態へ強制巻き戻し

git reset --hard

④過去のコミットに戻る
mergeしちゃったけど、チャラにしたい場合

git checkout [commit id]

commit id はgit logコマンドで確認

⑤upstreamに間違ってPushしちゃったので取り消したい

git logでcommitidを調べてrevertすると、
対処コミットをなかったことにできる。
その状態でpushして上書きすれば元通り。

git revert [commit id]

初期設定系

1) ユーザコンフィグ設定(名前とメアド)

git config --global user.name [ユーザ名]
git config --global user.email [メールアドレス]

2) 短縮コマンドオプション(エイリアス)設定 ※任意

git config --global alias.[短縮コマンド] [通常コマンド]


git config --global alias.co checkout
git checkout を git co に短縮できる

3) リモートリポジトリを登録

git remote add [リポジトリ名] [リポジトリURL]

ローカルからのpushやpullの際に指定できる

4) リポジトリを新規作成(初期化)

git init

ディレクトリ内で実行

Why do not you register as a user and use Qiita more conveniently?
  1. We will deliver articles that match you
    By following users and tags, you can catch up information on technical fields that you are interested in as a whole
  2. you can read useful information later efficiently
    By "stocking" the articles you like, you can search right away
Comments
Sign up for free and join this conversation.
If you already have a Qiita account
Why do not you register as a user and use Qiita more conveniently?
You need to log in to use this function. Qiita can be used more conveniently after logging in.
You seem to be reading articles frequently this month. Qiita can be used more conveniently after logging in.
  1. We will deliver articles that match you
    By following users and tags, you can catch up information on technical fields that you are interested in as a whole
  2. you can read useful information later efficiently
    By "stocking" the articles you like, you can search right away