Gitの基本
Gitとは
分散型バージョン管理システム
バージョン管理システム
ファイルの変更履歴を保持するためのシステム
→ 何か間違った修正をしてしまったときに、以前の状態に戻すことができる。
→ 複数人でコードを利用するときにお互いの編集を効率よく取り入れることができる。
分散型?
集中型バージョン管理システムというものも存在しており、(Subversion (SVN)など)それらと比較して「分散型」と呼ばれる。歴史的には集中型バージョン管理システムの方が前の技術。現状Gitを使っている開発現場の方が多い。
簡単にいうと、ローカルリポジトリの有無の違いがある。
https://gyazo.com/37f22966051c1535237aea8e05271ff0
https://gyazo.com/829fa5f3837c3a097335d85124e43ba9
リポジトリ : (ファイルの変更履歴の)保管場所・貯蔵庫
Githubの登録方法
リモートリポジトリの作成
「+」から「New repositoryを選択」
https://gyazo.com/b6a9c7d7f259aff8057220f375511634
Create a new repository
Repository name : git-trial
あとはデフォルト。
この状態で「Create repository」
※ Publicにすると全世界に公開される。
https://gyazo.com/0122600e8690e14a0d5dfa0367ac4547
クローン : リモートリポジトリをローカル環境に複製する
code:console
ユーザー名の設定
code:console
$ git config --global user.email "you@example.com"
$ git config --global user.name "beeeyan"
// 設定の確認(全て表示)
$ git config -l
// 一部表示
$ git config user.name
code:console
$ echo '# test' > README.md
$ git status
$ git add .
// git status
$ git commit -m "first commit"
// ※初回認証情報を入力する必要がある。
// git status
$ git push origin main
// git status
originとは?
リモートリポジトリのアクセス先に対してGitがデフォルトでつける名前
origin/main : リモートリポジトリのmainブランチ
main : ローカルリポジトリのmainブランチ
https://gyazo.com/aca90aaf8043ad380cf01d795a1fc90e
README.mdとは何か
字のごとく、リポジトリを開いたときに最初に読んで欲しい内容をまとめたファイル。
プロジェクトの説明
ツールの使い方
インストール方法
などを一般的に書きます。
Githubなんかはリポジトリを開いたときにTop画面でREADME.mdのファイル内容を表示します。
例)
演習)
README.mdファイルを編集して、commit・pushの手順を再実行してください。
fetchとpull
fetch
リモートリポジトリの最新の履歴を取得します。fetchだけではローカルリポジトリには統合されません。
pull
リモートリポジトリの変更をローカルリポジトリに反映させる。
まず、リポジトリ : git-trialで「beeeyan」をcollaboratorとして招待します。
「Settings」の「Manage Access」の「Invite a collaborator」を押下
https://gyazo.com/64590b30a8b86fc52988b0ffa7b56bc0
「Serch by username, full name, or email」に「beeeyan」を入力して検索。
〜別作業あるかも〜
〜こちらで、リポジトリ : git-trialにcommit〜
fetch・pullの実行
以下コマンドを実行。
code:console
$ git fetch
$ git status
$ git pull
// git status
*複数人開発でのポイント
リモートリポジトリの変更を全てpullしておかないと、自分の変更をpushすることができない。
小豆にpullしておくのがおすすめ。
ローカルのフォルダをGithubにpushする
リポジトリ名 : it-basic
公開範囲は「public」
code:console
// フォルダに移動
// 「.git」フォルダが生成される
$ git init
$ git add .
$ git commit -m "first commit"
// branch名の変更
$ git branch -M main
$ git push -u origin main
-uは--set-upstreamの意味
次回から
git push = git push origin mainの意味になる。
branch
ファイルの変更履歴を分岐して管理する機能。分岐したブランチは他のブランチの影響を受けないため、同じリポジトリ中で複数の変更を同時に進めていくことができます。
code:console
// 作業ディレクトリのブランチの一覧
$ git branch
// リモートも含めてブランチの一覧を表示
$ git branch -a
// リモートブランチの一覧を表示
$ git branch -r
// 新規branchを作成する
$ git branch ブランチ名
// 新規branchを作成して、作成したbranchに切り替える
$ git switch -c ブランチ名
// 旧 git checkout -b ブランチ名
// branchの切り替え
$ git switch 切り替えたいbranch名
// 旧 checkout
merge
分岐した履歴を戻して統合する
※ develop branchで何か修正を加えた想定
merge先はmain
code:console
// main branchにいる状態
$ git merge develop
覚えるより慣れる 技術だと思っている。