Skip to content

Latest commit

 

History

History
290 lines (199 loc) · 7.57 KB

File metadata and controls

290 lines (199 loc) · 7.57 KB

チートシート

【目次】

  1. はじめに
  2. 新規リポジトリを GitHub 上で作成後ローカルリポジトリを作成する
  3. 既存のリポジトリを導入
  4. ファイルの変更を確認
  5. ファイルを変更後コミットする
  6. コミット履歴の確認
  7. ブランチを切る
  8. GitHub へコードを反映
  9. GitHub 上の情報を持ってくる
  10. GitHub 上の情報をコードに反映
  11. Pull request を作成する
  12. 簡単なチーム開発の流れ
  13. コンフリクトを rebase で解決
  14. add を取り消す
  15. コミットを戻す
  16. コードを退避させる
  17. さいごに

【はじめに】

これは、困った時にとりあえずこれを見ればとりあえず解決できるかも!というチートシートです。
ハッカソン中などの時間がない時などは是非是非参考にしてください。

しかし、実際に理解していないと正しく扱えないので、これまでの資料を参考にしっかり学習しましょう。

【新規リポジトリを GitHub 上で作成後ローカルリポジトリを作成する】

GitHub 上から「Code」のリンクをコピー
HTTPSSSHかを注意

スクリーンショット 2023-01-12 12 41 46

$ echo "# READM" >> README.md
$ git init
$ git add README.md
$ git commit -m "first commit"
$ git branch -M main
$ git remote add origin [コピーしたリンク]
$ git push -u origin main

【既存のリポジトリを導入】

GitHub 上から「Code」のリンクをコピー
HTTPSSSHかを注意

スクリーンショット 2023-01-12 12 41 46

$ git clone [コピーしたリンク]

【ファイルの変更を確認】

変更ファイルを確認

$ git status

変更点を確認

// add前
$ git diff

// add後
$ git diff --staged

【ファイルを変更後コミットする】

$ git add .
$ git commit -m "[コミットメッセージ]"

【コミット履歴の確認】

$ git log

// 個人的に使っているオプション
$ git log --graph --decorate --oneline --all --pretty=format:'%C(yellow)%h %Cgreen%cn %Cred%d %Creset%s'

【ブランチを切る】

// ブランチの確認
$ git branch

// ブランチを作成&移動
$ git switch -c [ブランチ名]

【GitHub へコードを反映】

// デフォルトに設定したブランチ(mainやmaster)へpush
$ git push

// 特定のブランチをpush
$ git push origin [ブランチ名]

// 現在のブランチをpush
$ git push origin HEAD

【GitHub 上の情報を持ってくる】

// リモートの情報のみを更新
$ git fetch

// リモートで削除されたブランチを削除して更新
$ git fetch -p

【GitHub 上の情報をコードに反映】

// デフォルトに設定したブランチ(mainやmaster)をpull(そのブランチ上で行ってください)
$ git push

// 特定のブランチをpush
$ git push origin [ブランチ名]

【Pull request を作成する】

push 後「Compare & pull request」を選択

スクリーンショット 2022-12-11 19 15 28

各項目を入力して作成
この時、「base」が自分がマージしたいブランチになっていることを確認

スクリーンショット 2022-12-11 19 19 37

【簡単なチーム開発の流れ】

  1. やることを確認する

  2. 作業前にコードを反映

    $ git pull origin [作業ブランチ名]
  3. ブランチを切る(issue を作っている場合は issue 番号を入れるのがおすすめ)

    $ git switch -c [ブランチ名]
    $ git branch // 確認用
  4. ファイルを変更

  5. 細かな機能を作成するたびに add, commit

    // 作業内容の確認
    $ git status
    
    $ git add [変更したファイルのパス]
    
    $ git commit -m "[コミットメッセージ]"
    
  6. きりがいいタイミングや 1 日の終わりなどに push

    $ git push origin [ブランチ名]
  7. 4〜6 を繰り返す

  8. そのブランチでやることが終わったら Pull Request を作成

  9. レビューをしてもらう
    a. 承認されたらマージ
    b. リジェクトされたら 4 に戻る

  10. 1 へ戻る

【コンフリクトを rebase で解決】

  1. マージ先のブランチの情報を最新にして rebase

    $ git switch [マージ先ブランチ]
    $ git pull origin [マージ先ブランチ]
    $ git switch [作業ブランチ名]
    $ git rebase [マージ先ブランチ]

    or

    $ git fetch
    $ git rebase origin/[マージ先ブランチ]
  2. コンフリクトを解消

  3. add, commit

    $ git add [変更したファイルのパス]
    $ git commit -m [コミットメッセージ]
  4. rebase を続ける

    $ git rebase --continue
  5. 2〜4 をコンフリクトがなくなるまで繰り返す

  6. コードを push

    $ git push -f origin [作業ブランチ]

    rebaseを行った場合には、コミットIDが変更されるため、強制pushを行います。

  7. Pull Request を作る

【add を取り消す】

$ git reset HEAD

// 特定のファイルのみ
$ git reset HEAD [ファイルのパス]

【コミットを戻す】

リモートにあげていない場合

// ワークツリーとインデックスはそのままにしたい時
$ git reset --soft [戻りたいコミットのID]

// ワークツリーはそのままでコミットを戻したい時
$ git reset --mixed [戻りたいコミットのID]

// 全てを戻したい時
$ git reset --hard [戻りたいコミットのID]

リモートにあげている場合

$ git revert [取り消したいコミットのID]

【コードを退避させる】

// コードをワークツリーから退避
$ git stash save

// メッセージ付きで退避
$ git stash save "[メッセージ]"

// 退避一覧の確認
$ git stash list

// 退避したものをワークツリーに反映
$ git stash pop [stashの番号] // listから削除
$ git stash apply [stashの番号] // listに残したまま

// stashの削除
$ git stash drop [stashの番号]
$ git stash clear // 全て削除

【さいごに】

こういう場合も書いて欲しいなどありましたら、気軽にご連絡ください。

前の資料