0
2

Delete article

Deleted articles cannot be recovered.

Draft of this article would be also deleted.

Are you sure you want to delete this article?

More than 1 year has passed since last update.

Git・Githubまとめ

Last updated at Posted at 2022-09-10

リポジトリを作る

//sample ディレクトリを作成
mkdir sample

//sampleディレクトリに移動
cd sample

//今いるディレクトリをGitリポジトリとして設定
git init 

※.gitは隠しファイルなので普段は表示されないが、<Command + Shift + . >で隠しファイルが表示できる。

状況確認

//作業ディレクトリの状態を確認
git status
//リポジトリとファイルの差分をチェック
git diff
//リポジトリとステージの差分をチェック
git diff -staged

コミットする

//指定したファイルをステージする
git add ファイル名
//全てのファイルをステージする
git add .

//コミットメッセージを添えてコミットする(スナップショット)
git commit -m "コミットメッセージをここに書く"

※コミットすると、誰が・いつ・何を変更したが記録されるが、何のために変更したのかわからないため、コミットメッセージにてなぜ変更したのかを書く必要がある。

変更履歴の確認

# 変更履歴の確認
git log

変更をもとに戻す

//ワークツリーの変更を取り消す
git restore ファイル名
//ステージ上げた変更をワークツリーに戻す
git restore -staged ファイル名

チェックアウトでコミットを移動する

//指定したコミットに移動する
git checkout コミットID

フォーク

フォークとは他の人が公開しているリモートリポジトリを自分のリモートリポジトリにコピーすること。
※Github上で操作する。

クローン

クローンとはGithub上でコピーされたリモートリポジトリを自分のパソコンにダウンロードする
[↓Code]ボタンをクリックし、[HTTPS]が選択されていることを確認し、URLをコピーする。

//リモートリポジトリをクローンする
git clone 自分のリモートリポジトリのURL

ブランチを作る

//存在するブランチを一覧表示
git branch
//現在のブランチを元にして、新規ブランチを作成する
git branch ブランチ名
//指定したブランチに移動する
git checkout ブランチ名

//一つのコマンドで新規ブランチを作成して、作成したブランチに移動する
git checkout -b ブランチ名

ブランチを作ってコミットする

//profileブランチを新規作成して、profileブランチに移動する
git checkout -b profile
//member.htmlをステージする
git add member.html
//コミットメッセージを添えてコミットする(スナップショット)
git commit -m "新たに紹介文を追加"
//masterブランチに移動する
git checkout master

ブランチを統合する(マージ)

マージとは本番用のmasterブランチに自分が変更したコードを統合すること

//マージコミットを作りたいブランチA(master)に移動する
git checkout ブランチA
//マージしたいブランチBを指定してマージする
git merge ブランチB

※先程の例ならば、ブランチAがmaster、ブランチBがprofile

プッシュとは

プッシュとは、ローカルリポジトリで起きた変化をリモートリポジトリに反映すること(アップロード)

//ローカルリポジトリで行った変更を、リモートリポジトリにプッシュする
git push リモートリポジトリ名 ブランチ名
//※リモートリポジトリ名がorigin、ブランチ名がmasterのとき
git push origin master

プルとは

リモートリポジトリで起きた変更を、ローカルリポジトリに反映すること

//プルしてきたいブランチにチェックアウトする
git checkout ブランチ名
//リモートリポジトリ上のコミットを、ローカルリポジトリの現在のブランチに取り込む
git pull リモートリポジトリ名 ブランチ名
//※リモートリポジトリ名がoriginで、ブランチ名がmasterのとき 
git pull origin master

コンフリクトの対処法

コンフリクトとは、同じ行に同時に別々の修正がされたときに発生するバグ。
→どちらの修正を採用すればいいのかわからなくなるために、発生する。
コンフリクトした部分を、エディタで直接編集・保存してから、以下のコマンドで操作する。

//修正したファイルをステージする
git add ファイル名
//普通にコミットする
git commit -m "コミットメッセージ"

//コンフリクトの箇所が多すぎて修正が難しい場合、コミット前で荒れた、以下のようにしてマージをキャンセルできる
git merge --abort

プルリクエストとは

プルリクエストとは、自分がした変更をフォークした元のリポジトリに取り込んでもらえるように提案すること。
プルリクエストの目的は、本流のブランチにマージされること。

プルリクエストまでの流れ

1.フォークする
GitHubにて[Fork]ボタンを押して、自分のリモートリポジトリに複製する
2.クローンする

//指定のリポジトリをクローンする
git clone リポジトリURL
//クローンで作成されたディレクトリに移動
cd ディレクトリ名

3.ブランチを作ってコミットする

//ブランチを作ってそのブランチにチェックアウトする
git checkout -b ブランチ名
//コミットする
git add ファイル名
git commit -m "コミットメッセージ"

4.プッシュする

git push origin ブランチ名

5.GitHub上でプルリクエストを作成する

GitHub上で、フォークしてきたリポジトリのトップページを更新すると、画面上部に[Pull repuest]と[Compare]が表示される。
Compareページを開くと、「masterブランチと自分のリポジトリのブランチが比較」と「どの行で、どんな変更があったのか詳細を確認」問題がなければ、[Create Pull request]ボタンをクリック。

6.マージされる

Fork元の作成者が内容を確認し、[Merge pull request]ボタンをクリックするとマージされる

バージョン管理しなくていいファイルを無視する

  • OSが自動生成するファイル
  • キャッシュ
  • 容量が大きすぎるもの
    そのようなバージョン管理が必要ないファイルは .gitignore というテキストファイルを使ってGit管理しないように設定できる。

↓除外するファイル名(例)

ファイル・ディレクトリ名 説明
.DS_Store macOSが自動生成するもの
Thumbs.db Windows OSが自動生成するもの
.sass-cache/ Saasのキャッシュ。管理が必要ないため、除外する
*.css.map Sassのソースマップ。Sassの適用箇所を辿るために出力するもの。管理が必要ないため、除外する

.gitignoreの書き方

// 自分用のメモファイルを無視する
memo.txt
// .rbcという拡張子がついているファイルを無視
*.rbc
//例外として、text.rbcは無視しない
!test.rbc
//特定のディレクトリ名(config_c)以下を無視
config_c/
//ルートディレクトリ直下にあるものを指定する
//※ルートディレクトリにあるlogというディレクトリ以下を無視するとき
/log/

.gitignoreのコミット

//.gitignoreファイルをステージする
git add .gitignore
//.gitignoreファイルをコミットする
git commit -m "add file to .gitignore"
//.gitignoreに .DS_Storeを追加編集する
echo .DS_Store >> .gitignore

余計なファイルをコミットしてしまいignoreしたいとき

今後の管理から対象のファイルを外すとき

//gitの管理から削除
git rm --cached <ファイル名>
//gitignoreファイル内にそのファイル名を記入
echo '<ファイル名>' >> .gitignore

ファイルの履歴からも消す

git filter -branch -f --index-filter 'git rm --cached -rf --ignore -unmatch <ファイル名>' HEAD
0
2
0

Register as a new user and use Qiita more conveniently

  1. You get articles that match your needs
  2. You can efficiently read back useful information
  3. You can use dark theme
What you can do with signing up
0
2

Delete article

Deleted articles cannot be recovered.

Draft of this article would be also deleted.

Are you sure you want to delete this article?