LoginSignup
1
1

More than 3 years have passed since last update.

Git/Github復習

Posted at

ポートフォリオ作成に向けて、1月中に基礎学習を終わらせます。
HTML/CSS、JavaScript、Ruby、RDB/SQLの復習を終わらせたので、
次にGit/Githubの復習をUdemyの動画「Git:はじめてのGitとGitHub」で行っていきます。
なお、記述する内容は自分が忘れがちな所、苦手な所です。
HTML/CSS編、JavaScript編、Ruby編、RDB/SQL編同様、
自分用の備忘録的に投稿していくので(箇条書きで)、
読みづらいor間違えていることを書いている可能性もあるので、悪しからず。
(できるだけ他の方が見てもためになれば良いなとは思って投稿しますが・・・)
箇条書きで書いたことに関して、新たな発見、学び、気づき等あれば、
それぞれ個々に詳細を記述していこうと思います。

Gitとは

バージョン管理システムである。「どのファイルの何を」、「誰が」、「いつ」、「何のために」変更したのかを
記録として残すことができる。

Gitの仕組み

変更履歴を順々に記録する。
記録する際はメッセージを付ける。

開発の流れ(個人)

個人ファイル(ファイル変更)→個人リポジトリ→共有リポジトリ

リポジトリ・・・ 変更履歴を記録する場所
commit・・・ 個人リポジトリに変更履歴を記録すること。(個人ファイル→個人リポジトリ)
push・・・ 共有リポジトリに変更を共有すること。(個人リポジトリ→共有リポジトリ)
pull・・・ 共有リポジトリの情報を同期すること (共有リポジトリ→個人リポジトリ)

Githubとは

Gitリポジトリ(コード)のホスティングサービスである。
代表的なものは、GithubやBitbucketなどがある。
プルリクエストによるコラボレーションができ、
世界中のチームがGithub上で開発を行っている。

基本的なワークフロー

ローカルリポジトリの新規作成→個人ファイル(ファイル変更)→ステージングエリア→ローカルリポジトリ→リモートリポジトリ

ステージングエリア・・・ ファイルの控え室のようなもの

①ローカルリポジトリの新規作成
git init でリポジトリを新規作成する
②ファイルの変更をステージングエリアへ追加する(個人ファイル→ステージングエリア)
git add
③ローカルリポジトリにコミットする(ステージングエリア→ローカルリポジトリ)
git commit
④リモートリポジトリにプッシュする(ローカルリポジトリ→リモートリポジトリ)
git push

git commit

git addでステージングエリアに追加したら、git commitと命令する。
commitメッセージを入力する画面が現れる(デフォルトではVimというエディタが出現)

Vimの操作

半角英数字に切り替える→iを入力(書き込みができる)→コメントを残す→escを押す→
:wqを入力後、enterキーを押す

Github上にリポジトリ新規作成

Githubにpushするために、Github上でリポジトリを新規作成する(New repository)

変更をコミットする流れ

①ステージングエリアに変更を追加する
git add [ファイル名]
git add . ←変更したファイルが全て追加される
②リポジトリに変更を記録する
*一つの作業ごとに1コミット
git commit
③分かりやすいコミットメッセージを書く
1行目: 変更内容の要約
2行目: 空行
3行目: 変更した理由
④escを押して、:wq、enterキー

git log

git logでcommitできたかどうか確認できる

git log --oneline #1行で表示する
git log -p ファイル名 #ファイルの差分を表示する
git log -n 表示したいログ数 #表示するログ数を指定する

色々な変更をコミットできる

ファイルの新規作成、ファイルの削除、複数ファイルの変更など

削除したファイルをステージングエリアに追加する

git rm 削除したファイル で削除したファイルをステージングエリアに追加できる

現在の状況を確認する

git statusコマンドで現在の状況を確認できる

変更差分を確認する

git diffコマンドで変更差分を確認することができる。
git diff HEAD #最新コミットとの差分を表示できる

Githubにプッシュする

①リモートリポジトリに登録する
git remote addコマンドでローカルリポジトリをリモートリポジトリに登録できる
(例)git remote add origin https://github.com.....
②リモートリポジトリへ送信する
masterブランチへの送信
→git push origin master
master以外のブランチへの送信(例:featureブランチへの送信)
→git push origin feature

バージョン管理からファイルを外す

.gitignoreファイルに指定する
→ファイルをGitの管理から外すことができる。
(自動生成されるファイルやパスワードが記載されているファイルなどを外す)

.gitignoreファイルの書き方

・ #から始まる行はコメント
・ 指定したファイルを除外できる
・ ルートディレクトリを指定できる
・ ディレクトリ以下を除外できる

コミットしてしまったファイルを管理から外す

ファイルごとGitの管理から削除する

git rm [ファイル名] #ファイルも一緒に削除される
git rm -r [ディレクトリ名] #ディレクトリも一緒に削除される

ファイル本体は残す場合

git rm --cached [ファイル名]
*commitされないように、.gitignoreに追記するのを忘れない

Git/Github復習以上
1
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
1
1