Gitについて
Gitとは
分散型バージョン管理システム
ただデータを保存するだけでなく誰がいつどこを編集したのか履歴を保存管理できる仕組み
Gitにできること
- 新旧のファイルを一括管理
- 簡単に古いファイルに戻せる
- チームでファイルの変更履歴を共有
- チームで修正した部分を統合
- チームでの業務を効率化できる
- 様々なファイルを管理可能
GitとGitHubの違い
「Git」は、「ソースコードのバージョンを管理するツール」
対して「GitHub」は、「Gitを利用した、開発者を支援するWebサービス」
gitに出てくる語句
ワークツリー
Gitで管理しているファイルでaddする前の階層
インデックス
これからコミットするファイルの階層
Gitの基本コマンド
ローカルでGitを使えるようにする(git init)
$ git init
ローカルでリポジトリを新規作成する、または既存のリポジトリを初期化する
ファイルの変更(追加/変更/削除)を確認する(git status)
$ git status
コマンドの実行結果の見方
①Changes to be committed
コミットする予定の変更したファイルの一覧(インデックスに反映されているファイル一覧)
②Changes not staged for commit
addされていないかつ一度コミットされたことのある「変更のあった」ファイル一覧
③Untracked files
新しく作ったファイルでまだ一度もコミットしたことがないファイル一覧
変更履歴を残す準備をする(git add)
$ git add ファイル名
$ git add .
②③全てのファイルを追加
指定したいファイルの相対パスがわからなくなったら$ git status
で調べると早い
変更履歴をローカルリポジトリに保存する(git commit)
$ git commit -m "コミットメッセージ"
コミットメッセージとは
「なぜコードを変更したのか」という理由を誰が見てもわかるようにするためのものなので、
わかりやすくまとめておくようにする。
※コミットメッセージに関してはまた次回記事を書きます。
ブランチを作成する (git branch)
$ git branch ブランチ名
ブランチとは
履歴の流れを分岐して記録していくためのもの。
分岐したブランチは他のブランチの影響を受けないため、同じリポジトリ中で複数の変更を同時に進められる。
【疑問】何故ブランチ一つは好ましくないのか
(例)ブランチ一つで実装していると、他のメンバーの作業の影響を受ける可能性がある。
その為メインのブランチから自分の作業専用のブランチを作成する。 そして作業の終わったメンバーは、メインのブランチに自分のブランチの変更を取り込んでいく。
$ git branch
ブランチ全てを表示
$ git checkout ブランチ名
ブランチを切り替える (git checkout)
ローカルの変更をリモートリポジトリにアップロードする (git push)
git push origin ブランチ名
ローカルリポジトリの変更履歴をリモートリポジトリへアップロードする。
git hub を見に行くと黄色いバーが表示される。
緑のボタンを押しすすむと
chengestyleからmainにマージしたい(できるよー的なニュアンスだと認識してます) と表示が出てくる。
下にスクロールするとmerge pull requestというボタンが出てくる。
ボタンを押すとgithub上でchengestyleで変更された内容がmainに統合される。統合されることを
マージと呼ぶ。
リモートリポジトリの変更をローカルリポジトリに持ってこれる(git pull)
$ git pull origin リーモートリポジトリで変更されたブランチ名
cloud9とgit hubを連携させる方法
下記の記事がとてもわかりやすく参考になりました。
https://kosuke-space.com/cloud9-github
参考文献
【初心者向け】Gitとは何なのか。
https://tcd-theme.com/2019/12/what-is-git.html
Gitとは?Gitの特徴4つ|Gitでできることや活用できる職種を解説
https://www.acrovision.jp/career/?p=2782#:~:text=Git%E3%81%A7%E3%81%A7%E3%81%8D%E3%82%8B%E3%81%93%E3%81%A8%E3%81%AF%E3%80%81%E7%B0%A1%E5%8D%98,%E9%81%8B%E7%94%A8%E3%81%8C%E3%81%A7%E3%81%8D%E3%82%8B%E3%81%A7%E3%81%97%E3%82%87%E3%81%86%E3%80%82
【 git init 】コマンド――Gitのリポジトリを作成する
https://atmarkit.itmedia.co.jp/ait/articles/2003/12/news010.html
Git入門】git status の使い方
https://26gram.com/git-status
第9話 git diff で差分を確認!【連載】マンガでわかるGit ~コマンド編~
https://www.r-staffing.co.jp/engineer/entry/20200228_1
サル先生のGit入門【プロジェクト管理ツールBacklog】
https://backlog.com/ja/git-tutorial/stepup/01/
【Gitをしっかり理解】pullとmergeとfetchは一体何をしているのか?
https://shinmedia20.com/git-pull#:~:text=4%20%E3%81%BE%E3%81%A8%E3%82%81-,git%20pull%E3%81%AF%E4%BD%95%E3%82%92%E3%81%97%E3%81%A6%E3%81%84%E3%82%8B%E3%81%AE%E3%81%8B%EF%BC%9F,%E3%81%97%E3%81%A6%E3%81%84%E3%82%8B%E3%81%AE%E3%81%A7%E3%81%99%E3%80%82