1
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 3 years have passed since last update.

Git初心者入門1

Last updated at Posted at 2020-04-22

#このページの目的
GitやGitHubを初心者視点でリポジトリの作成からちょっとした操作を
忘れないように書いておきたいと思ったため。
※勘違いしていたり調査不足で間違っていたら指摘してやってください。

三部構成で

  • Gitの基本的な使い方 ここ
  • 開発サイクル
  • CONFLICT

を復習していきたいと考えております。

#事前準備

  • GitHubにアカウントを作成していること
  • Gitをインストールしていること

#環境確認

##バージョンの確認
Gitをインストールできているか確認と現在のバージョンを確認するために以下のコマンドをshellで打ちます。

[コマンド]
git --version
[結果]
image.png

##バージョンの更新
Gitを更新したい場合はインストールした方法によって異なる?と思いますので私がやった方法を紹介します。
Homebrewを使ってインストールしていました。
https://news.mynavi.jp/article/20200418-1018783/ でGitの脆弱性が報告されていたので私のようにGitのバージョンが古い場合は更新しましょう。

###Homebrewを更新
[コマンド]
brew update

###Gitを更新
[コマンド]
brew upgrade git
git --version

[結果]
image.png
2.21.0→2.26.2に更新されました。

#作業

##ローカルでディレクトリの作成
[コマンド]
mkdir git-test 作業用のディレクトリを作成するコマンド
cd git-test 作業用のディレクトリに移動するコマンド
pwd 現在のディレクトリの場所を表示するコマンド

[結果]
image.png

##Authorの設定
AuthorとはGitでコミットした時に表示されるユーザ名とメールアドレス
簡単に言えばその表示名を決める みたいな感じです。
設定できていると自分のメールアドレスとユーザ名が表示されます。

[コマンド]
git config --global --list
[結果]
image.png

設定されていなくて

fatal: unable to read config file ‘/Users/h-miura/.gitconfig’: No such file or directory

と出た場合は以下のようにコマンドを打っていきます。

git config --global user.name {USEWR_NAME} Authorのユーザ名を登録
git config --global user.email {MAIL} Authorのメールアドレスを登録

git config --global --list 現在のAuthorを表示

作成したディレクトリをリポジトリとして作成する

作成したディレクトリ git-test/ の中で
[コマンド]
git init  現在のディレクトリをリポジトリにするコマンド
ls -la リポジトリになると .git というファイルができているのでそれを確認するコマンド

[結果]
image.png

トラッキング対象外の設定

GitHub上には載せたくないけどローカルで必要なディレクトリやファイルなどを記述すると変更があっても
コミットなどの時に無視される対象を設定できる。

[コマンド]
touch .gitignore .gitignoreというファイルを作成だけする
ls -la 作成されたか確認

[結果]
image.png

この .gitignore ファイルに追加するとaddやcommitの時に変更があっても無視されるようになる。

練習用のファイルを作成する

README.mdファイルを作り記述してファイルを作成します。

[コマンド]
vi README.md viエディタを使ってファイルを作成して編集に入るコマンド

README.md
# git-test

と入力して
cat README.md README.mdファイルの中身を確認するコマンド

[結果]
image.png

Gitのステータスを確認

ファイルに変更があった場合 トラッキング対象ならば変更されたよってことを教えてくれる。
[コマンド]
git status ステータスを確認するコマンド

[結果]
image.png

トラッキング対象外を指定するファイル
今回編集したファイル
の2つを作成したのでこの2つが赤字で表示されている。

インデックスに追加する

[コマンド]
git add .gitignore  add コマンドを使って指定のファイルをインデックスに追加する
git add README.md
git status

現在のディレクトリで変更あったもの全てをインデックスに追加するコマンド
git add .

[結果]
image.png

ローカルリポジトリに変更を記録

[コマンド]
git commit -m "created .gitignore README.md" -mというオプションをつけると その後の文字列を変更内容として記述できる。 -mを付けないとエディタ画面に移動してそこで記述してセーブするようになる。
git branch 現在どこのブランチ(ローカルの作業場所みたいなもの)にいるかを確認する
git status

[結果]
image.png

ログの確認

いつ誰がコミットしたのか などなどがわかる

[コマンド]
git log ログの確認
git log --pretty=fuller Author,Commiterの確認

[結果]
image.png

コミット後のファイルを変更して差分などを確認する

README.mdを編集→差分確認→push を説明します。

[コマンド]
vi README.md

README.md
# git-test
aaaa 

となるように 「aaaa」を追加
cat README.md

git diff README.md 変更したファイルの差分を確認する。 緑の文字で追加箇所が表示されている。
git status README.mdに「aaaa」を追加したので、README.mdの変更が行われている。

[結果]
image.png

addする前に変更を取り消したい場合(インデックスの登録を取り消す)

今回のREADME.mdへ「aaaa」の追加を取り消す場合

[コマンド]
git checkout README.md
cat README.md
git status

※Gitのバージョン2.23.0以降はgit restore README.mdでも良いらしい どっちも使える

[結果]
checkoutの場合
image.png

restoreの場合
image.png

編集して「aaaa」を入れたハズのREADME.mdがcommitした1つ前の状態に戻った。
変更が無かったことにされたので、ステータスも変化無しと表示される。

addした後の変更を取り消す

[コマンド]
vi README.md

README.md
# git-test
aabbcc

「aabbcc」を追加

cat README.md
git status 変更内容を確認
git add .
git status addされたことを確認
git reset HEAD README.md or git restore --staged README.md(←2.23.0以降)
git status addの変更が取り消されている。

[結果]
git resetの場合
image.png

git restoreの場合
image.png

addが取り消されただけなので、README.mdの追記は削除されていない。

commitの取り消し

先程add(indexに追加)を取り消したので、README.mdは編集されている。 これをローカルリポジトリに登録する。
そしてそのローカルリポジトリの登録を取り消す

[コマンド]
git status 現在のステータスを確認 addされていない
cat README.md 変更内容を再確認
git add . ワーキングディレクトリからインデックスへ追加
git status addされたことを確認
git commit -m "modify README.md" インデックスからローカルリポジトリにメッセージを付けてコミット
git status commitの確認
git log commitされたことを確認
cat README.md README.mdの確認
git reset --hard HEAD^ コミットの取り消し
cat README.md ワーキングディレクトリの変更も全て消える。
git log一番上のcommitが取り消された。

[結果]
image.png

ローカルでの追加したり消したりの流れ

image.png

次回予告

次はGitHubを絡めて
issue -> branch -> add -> commit -> push、pull request -> merge
の開発サイクル
という流れを学んだのでそれを復習した記事にする予定です。

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