目次
- 初めに
- 1.
git add .
- 2.
git branch
- 3.
git pull
- 4.
git checkout -b [ブランチ名]
- 5.
git branch -D [ブランチ名]
- 6.
git diff
- 7.
git commit -m "コメント"
- 8.
git push origin [ブランチ名]
- 9. Mergeリクエスト (Pullリクエスト) を出す
- 実際に経験したので追記コマンド
- 最後に
初めに
インターンに参加するまで、Gitコマンドはcommit
とpush
、clone
しかほぼ使っていない状態だったので、ここで一度整理をしておきます。
1. git add .
ワークディレクトリの変更をステージングエリアに追加します。
branch
をきる度に、実行するのを忘れないでください。
ワークディレクトリ
file.txt (変更済み)
$ git add .
ステージングエリア
file.txt (変更済み)
2. git branch
現在のブランチを表示します。
pushする位置が間違っていないかよく使います。
$ git branch
feature/login
* master
feature/signup
*
がついているブランチが現在のブランチです。
3. git pull
リモートリポジトリの変更をローカルに取り込みます。
リモートリポジトリ
file.txt (変更済み)
$ git pull
ローカルリポジトリ
file.txt (変更済み)
4. git checkout -b [ブランチ名]
新しいブランチを作成して、そのブランチに切り替えます。
$ git checkout -b feature/new-feature
Switched to a new branch 'feature/new-feature'
$ git branch
feature/login
master
* feature/new-feature
feature/signup
5. git branch -D [ブランチ名]
指定したブランチを削除します。
$ git branch -D feature/login
Deleted branch feature/login.
$ git branch
* master
feature/signup
6. git diff
ワークディレクトリとステージングエリアの変更点を確認します。
変更があったかどうかを確認する時によく使います。
$ git diff
diff --git a/file.txt b/file.txt
@@ -1,3 +1,3 @@
This is a sample file.
-Old line.
+New line.
7. git commit -m "コメント"
変更をコミットし、コメントを付けます。
この記事もぜひ読んでみてください。
$ git commit -m "Update file.txt"
[master abcdefg] Update file.txt
1 file changed, 1 insertion(+), 1 deletion(-)
8. git push origin [ブランチ名]
ローカルの変更をリモートリポジトリにプッシュします。
$ git push origin master
Counting objects: 3, done.
Writing objects: 100% (3/3), 258 bytes | 258.00 KiB/s, done.
Total 3 (delta 0), reused 0 (delta 0)
To github.com:username/repository.git
abcdefg..hijklmn master -> master
9. Mergeリクエスト (Pullリクエスト) を出す
この部分はコマンドラインではなく、GitHubやGitLabを使用して行います。
- GitHub (または使用しているGitホスティングサービス) にログインします。
- リポジトリのページに移動します。
- 「Pull requests」または「Merge requests」のタブをクリックします。
- 「New pull request」または「New merge request」のボタンをクリックします。
- ベースとなるブランチ(通常は
master
やmain
)とマージしたいブランチ(この例ではfeature/new-feature
)を選択します。 - 変更内容を確認し、必要なコメントや説明を追加します。
- 「Create pull request」または「Submit merge request」のボタンをクリックしてリクエストを作成します。
このプロセスを完了すると、リポジトリの管理者や他のチームメンバーがあなたの変更をレビューし、必要に応じてフィードバックを提供することができます。フィードバックが完了したら、変更はメインブランチにマージされます。
実際に経験したので追記コマンド
11. git log --oneline
コミットの履歴を一行でシンプルに表示します。
$ git log --oneline
hijklmn Update README.md
abcdefg Add new feature
1234567 Initial commit
12. git reset HEAD~~~
git reset
コマンドを使用すると、指定したコミットにHEAD(現在のブランチの先頭)を戻すことができます。~
の記号は、戻りたいコミットの数を示します。この場合、~~~
と3つの~
があるため、最新の3つのコミットをワークディレクトリに保持したまま、HEADを3つ前のコミットに戻します。
例:
-
HEAD~
: 1つ前のコミットに戻す -
HEAD~~
: 2つ前のコミットに戻す -
HEAD~~~
: 3つ前のコミットに戻す
... という具体的な動作になります。
$ git log --oneline
hijklmn Update README.md
abcdefg Add new feature
1234567 Add some changes
890abcd Initial commit
$ git reset HEAD~~~
Unstaged changes after reset:
M README.md
$ git log --oneline
1234567 Add some changes
890abcd Initial commit
13. git push -f origin [branch名]
ローカルの変更を強制的にリモートリポジトリにプッシュします。このコマンドは他の人との作業が競合する可能性があるため、注意して使用する必要があります。
$ git push -f origin feature/new-feature
Counting objects: 3, done.
Writing objects: 100% (3/3), 258 bytes | 258.00 KiB/s, done.
Total 3 (delta 0), reused 0 (delta 0)
To github.com:username/repository.git
+abcdefg...1234567 feature/new-feature -> feature/new-feature (forced update)
最後に
このような流れで、チームで作業する時にはGitコマンドを利用すると思います。私も今までは、ハッカソンなどの短い開発時間が多かったり、2人など少ない開発メンバーが多かったので、使っていませんでしたがインターンをきっかけこれからGitネイティブになれるように、利用していきたいと思います。