Git
gitコマンド
Section titled “gitコマンド”リポジトリの作成
Section titled “リポジトリの作成”git init # ローカルリポジトリの初期化git remote add origin {GithubのURL} # リモートリポジトリとの紐付けgit push -u origin mainブランチの作成と切り替え
Section titled “ブランチの作成と切り替え”git branch # ブランチの一覧を表示git branch {ブランチ名} # ブランチの作成(現在のブランチから派生)git branch {新ブランチ名} {派生元ブランチ名} # ブランチの作成(指定したブランチから派生)
git switch {ブランチ名} # ブランチの切り替えgit switch -c {ブランチ名} # ブランチを作成し、切り替えgit switch -c {新ブランチ名} {派生元ブランチ名} # 指定したブランチから派生して、ブランチを作成し、切り替えブランチの差分を取る
Section titled “ブランチの差分を取る”git diff {ブランチ名A} {ブランチ名B} # ローカルブランチの比較git diff origin/{ブランチ名A} {ブランチ名B} # リモートブランチとの比較git diff origin/{ブランチ名A} {ブランチ名B} --shortstat # 更新行数を表示リモートURLの変更
Section titled “リモートURLの変更”git remote -v # 現在のリモートURLを確認git remote set-url origin {新 URL} # リモートURLの変更patchの作成と適用
Section titled “patchの作成と適用”git diff > {patchファイル名} # patchの作成git diff HEAD^~1 > {patchファイル名} # コミットの範囲を指定して差分をとり、patchを作成patch -p1 < {patchファイル名} # patchの適用コミットメッセージ
Section titled “コミットメッセージ”私は、コミットメッセージを以下のように書く。 これは、何を行ったのかがわかりやすければ何でもいい。
フォーマット: <Type(必須)>: <Emoji> #<Issue Number(必須)> <Title(必須)>
例)feat: :sparkles: #123 ログイン機能の実装をする
→ feat: ✨ #123 ログイン機能の実装をする
Type 一覧
Section titled “Type 一覧”- chore: タスクファイルなどプロダクションに影響のない修正
- docs: ドキュメントの更新
- feat: ユーザー向けの機能の追加や変更
- fix: ユーザー向けの不具合の修正
- refactor: リファクタリングを目的とした修正
- style: フォーマットなどのスタイルに関する修正
- test: テストコードの追加や修正
- config: 構成変更
Githubの設定
Section titled “Githubの設定”Features
Section titled “Features”- Discussion 有効
GitHub上で課題などについて、メンバと議論するための機能
GitHub Discussionsでは、仕様や処理方式などの議論、方針決めを行い、GitHub Issuesでは、方針決定後の作業の管理・分類を行うために使う。
Pull Request
Section titled “Pull Request”- Allow rebase merging 無効
merge commitではなくrebaseされる
- Always suggest updating pull request branches 有効
Pull Request作成後に、ベースブランチが更新された場合、ソースブランチの更新を提案してくれる
- Automatically delete head branches 有効
Pull Requestをマージすると、ソースブランチを自動的に削除
Pushes
Section titled “Pushes”- Limit how many branches and tags can be updated in a single push 有効
複数のブランチが一度のpushでまとめて更新される場合、ブロックする機能
Code Review Limits
Section titled “Code Review Limits”- Limit to users explicitly granted read or higher access 有効
Pull Requestの「承認」「変更要求」を明示的に許可したユーザだけが行えるようにする
Github Actions
Section titled “Github Actions”.github/workflows/{YAMLファイル} に、GitHub Actions で実行するワークフローを定義する。
name: CI
on: push: branches: - main
jobs: setup: runs-on: ubuntu-latest steps: - name: Checkout uses: actions/checkout@v3
- name: Setup uses: actions/setup-go@v2 with: go-version: ^1.18
test: needs: setup runs-on: ubuntu-latest steps: - name: Checkout uses: actions/checkout@v3
- name: Test run: cd week2/app && go test
docker-build-push: needs: test runs-on: ubuntu-latest steps: - name: Checkout uses: actions/checkout@v3
- name: Set up QEMU uses: docker/setup-qemu-action@v1
- name: Set up Docker Buildx uses: docker/setup-buildx-action@v1
- name: Login to DockerHub uses: docker/login-action@v1 with: username: ${{ secrets.DOCKERHUB_USERNAME }} password: ${{ secrets.DOCKERHUB_TOKEN }}
- name: Build and push uses: docker/build-push-action@v2 with: context: week2/app/ push: true tags: ${{ secrets.DOCKERHUB_USERNAME }}/security-minicamp-22-sample-app:${{ github.sha }}