LoginSignup
2
1

More than 3 years have passed since last update.

git githubをまとめてみた

Last updated at Posted at 2020-10-14

概要

gitの使い方のメモです。
筆者のプログラミングの経験は以下です。

git: 1週間

そのため、理解が間違っている箇所が多々あると思いますがご了承ください。

各種バージョン

npm : 6.14.8

gitのコマンドの目次

1. gitの起動とコミット

  • git init
  • git add
  • git commit
  • git status
  • git log
  • git reset

2. branchの運用

  • git branch
  • git checkout
  • git merge

3.githubとの提携

  • git remote add origin
  • git push origin ブラン
  • git fetch origin ブランチ名
  • git diff HEAD origin/ブランチ名
  • git pull origin ブランチ名

4.githubの設定
- git config --global --list
- git config --global 設定
- git config --local 設定

1.gitの起動とコミット

ここではローカルリポジトリの起動とコミット等の基本をまとめる。

ここで使用するコマンド

gitの起動

git init

ファイルをgitのステージング環境に上げる

git add ファイル名

前回のcommitからの変更状態の確認

git status

addの取り消し

git reset ファイル名

ステージング環境の変更をローカルリポジトリに取り入れる

git commit -m "コミットメッセージ"

コミットの履歴を確認

git log

コミットの取り消し

git reset id

ここではローカルリポジトリにファイルを追加してコミットするところまでを目標とする。

まず、gitで管理するフォルダを作成する。
今回は便宜上git-practiceというフォルダを作成する。

ターミナル
mkdir git-practice
cd git-practice

git-practice上でファイルを作成する。
今回はnodejsのexpressを使ってgitの操作をなれる。

1-1gitの立ち上げ

$(pwd)
git init

次にexpressなどのnodejsに必要な情報をダウンロードする。

tips

gitのリポジトリになっているかどうかは

shift+command+.

スクリーンショット 2020-10-15 0.53.50.png

で隠しファイルの確認から確認可能。

gitが起動していれば.gitというフォルダが確認できる。

1-2 gitのファイルを追加と取り消し

npm init を使ってnodejsを立ち上げる。
すると、package.jsonと言うjsonファイルが追加される。
ここでgitを立ち上げてから前回までの履歴を以下のコマンドで確認する。

$(pwd)
git status
On branch master
Untracked files:
  (use "git add <file>..." to include in what will be committed)

    package.json

nothing added to commit but untracked files present (use "git add" to track)

package.jsonが追加されているのが確認できる。

これをステージングに追加するには以下のコマンドを使う。

git add .   #ファイル名のところを.ですべて追加
On branch master
Changes to be committed:
  (use "git reset HEAD <file>..." to unstage)

    new file:   package.json

new file: package.json というのが現在ステージング環境にいることが確認できる。
git addを取り消すには以下のコマンドを使用する。

git rm --cached -r . 初回のファイルを全て取り消し
git rm --cashed -r ファイル名 初回のファイルを取り消し
git reset HEAD 二回目以降のgit addを取り消し
git reset HEAD ファイル名 二回目以降の特定のgit addを取り消し

1-3 ローカルリポジトリに変更をコミットする

ステージング環境の変更をローカルリポジトリに取り入れるためにはコミットをする必要がある。
コマンドは以下。

git commit -m "変更内容等のメッセージ"

commit-messageには変更した内容があとから見てわかりやすいものにする。
(例) add packege.json

コミットの履歴は、以下のコマンドで確認が可能。

git log

コミットの取り消しには以下のコマンドを使用。
commit_idの地点までcommitを戻すことができる。

git reset commit_id

commit_idはgit logで確認可能。
commitの後で暗号のようになっているもの。

git_log
commit 8b0e6************ ← ここがcommit_id
Author: ******
Date:   *****

練習問題1

① npm install expressをしてパッケージをダウンロードし、変更内容をコミットする
② ssというからファイルを作成し、addからのreset,commitからのresetをする

2. branchを使って作業を分岐

ここでは作業内容に応じてブランチを作成するやり方をまとめる。

ここで使用するコマンド

ブランチの確認と作成

git branch ブランチ名

ブランチ間の移動

git checkout 移動したいブランチ名

ブランチの取り込み

git merge 取り込みたいブランチ名

リモートリポジトリの変更内容を取得

git fetch origin ブランチ名

リモートリポジトリの変更内容の差分を表示

git diff HEAD origin/ブランチ名

2-1 ブランチの作成と移動

ブランチの作成は以下のコマンド。

git branch ブランチ名

ブランチ名にはdevelopやaddfileなど作業内容がわかりやすいものにする。
ブランチ名を指定しないと現在存在するブランチを確認することができる。
ブランチ間を移動するには以下のコマンド。

git checkout ブランチ名

2-2 ブランチの取り込み

例えば、htmlというブランチを作ってmasterブランチにその内容を取り込みたかったら以下のコマンドを使う。

masterブランチ内
git merge 取り込みたいブランチ名

取り込むブランチ(master)に移動→マージするの手順ですすめる。

練習問題2

addというブランチを作成して、適当なファイルを追加後masterブランチに変更内容とを取り込む。

3.githubと連携する

github上のリポジトリと連携してプロジェクトを進行する方法をまとめる。

ここで使うコマンド

リモートリポジトリの追加

git remote add origin githubのリポジトリのurl

ローカルリポジトリの内容をgithubのリポジトリに反映

git push origin ブランチ名

3-1 リモートリポジトリの追加

githubにgitの練習用のリポジトリとしてgit-practiceというリポジトリを作ったとする。
そのリポジトリのurlが https://practice だったとすると反映は以下のコマンドで行う。
originというのはリモートリポジトリの名前。

git remote add origin https://practice

3-2 ローカルリポジトリのコミット内容をgithubに反映

例えばdevelopブランチでcommitをした内容を加える場合は以下。

git push origin develop

tips

3-3に入る前にローカルブランチがどのブランチに対して適応しているか確認したほうがよい。
方法は以下。

git branch -vv

3-3 リモートリポジトリで行われた変更内容を取り込む

例えば3人で作業しており,AさんがdevelopでREADME.mdに情報を追加したとする。
あなたのローカルリポジトリにはその変更内容はないので確認する必要がある。
確認するためのコマンドは以下。

ローカルのリポジトリ情報を全て更新

git fetch

リモートの特定のブランチのfetch

git fetch origin {ブランチ名}

リモートのブランチを獲得できたかを確認

git branch -r | grep {ブランチ名}

取り込んだ変更内容を確認するためのコマンドは以下。

git diff HEAD origin/develop

そして変更内容が良かった場合

git pull origin develop

git pull = git fetch + git merge

といった感じで情報をリモートからとってきてその情報をマージする役割をしている。

4.githubの設定

githubのユーザーを複数分けるときの設定方法について記述する。

4-1 git config --global --list

以下のコマンドでgit configの各種設定を確認することができる。

$  git config --global --list

>>>
user.email=githubで設定しているemail
user.name=githubで設定しているusername
merge.ff=false
・
・

4-2 git config --global 設定

git config --global 設定とすることでgithubの全てのリポジトリでの設定を変更することが出来る。
例えばusernameとemailの設定を変更したい場合は以下のようになる。

※user.nameが""でemailが""がないことに注意

git config --global user.name "ユーザーネーム"
git config --global user.email メール・アドレス

4-3 git config --local 設定

git config --local 設定とすることで現在のディレクトリで進行しているリポジトリのみ設定を変更することが出来る。
例えばusernameとemailの設定を変更したい場合は以下のようになる。

git config --local user.name "ユーザーネーム"
git config --local user.email  メールアドレス

まとめ

githubでの開発の流れは以下のようになる。

1.ローカルで開発
2.リモートにプッシュ
3.親ブランチにpullリクエスト

1〜3の繰り返しになる。

フローは以下の記事でよくまとめられている。
https://qiita.com/ohnaka0410/items/7c7fa20710dfd72b7d7a

2
1
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
2
1