#Git
・プログラムを複数人で共同開発するために使用するシステム
・共同開発には3つのステップ(1.コード変更 2.共有する準備 3.共有)がある
・共同開発では自分の変更の把握と、その中で相手に共有すべき部分を選択することが大切。
・git status
で変更したaddしていないファイル名を赤、addされたファイルを緑で表示
・git diff
で変更前のコードは赤、変更後のコードは緑で表示
・git add ファイル名
で共有するファイルを選択
・git commit -m “メッセージ”
で選択したファイルを記録(コミット)
・git log
でメッセージ内容を確認、上ほど新しいメッセージ
・git log -p
で変更内容も同時に見れる。上下キーで表示内容変更、Qキーで終了
#Github
・Gitをオンライン上で管理するサービス
・ソースコードの閲覧、バグ管理、SNS機能といった開発者に必須なものが揃っている
・Gitを用いて操作ができる
・Webサイトに情報を公開できる
#SSH接続
・ネットワークに接続された機器を遠隔操作し、管理する手段
・通信経路は暗号化されるため、安全にアクセスできる
1.サーバー用の公開鍵と、クライアント用の秘密鍵をペアで作成
2.SSHクライアントを操作し、ログイン意思を伝える
3.鍵が合っていることを確認して暗号化、復号化
4.暗号化完了!
#リモートリポジトリ
・共有ファイルの置き場
・ファイルのアップロードやダウンロードができ、開発者同士がファイルを共有できる
・git remote add リモート名 URL
で指定のURLを付けたリモート名で登録
・git push リモート名 master
でリモート名にアップロード
・git pull リモート名 master
でリモートからファイルをダウンロード
#ローカルリポジトリ
・リモートリポジトリとは異なり、自身の手元のマシンに配置するリポジトリ
・ローカルリポジトリの内容を公開する際、リモートリポジトリにアップロードする。
#クローン
・リポジトリをコピーするためのコマンド
#プル
・リモートリポジトリで管理していたファイルをダウンロードすること
#プッシュ
・ローカルリポジトリで管理していたファイルをアップロードすること
#プルリクエスト
・ローカルリポジトリの変更を他者に通知する機能
・多数の開発者がオープンソース開発に参加しやすくなり、高品質のコード作りが可能になる
#イシュー
・開発者同士が共有し、必要な事項をスレッド形式で立てられる機能
#ステージングエリア
・Git レポジトリにコミットするファイルを置く場所
・git add
で追加されたファイルが溜まる
・git commit
でgitレポジトリにコミットされたファイルが格納される
#アド
・共有するファイルをステージングエリアで共有
#コミット
・ファイルやディレクトリの追加・変更をリポジトリに記録する操作
・コミットでは、全気合いコミット時から現在の状態の差分の記録が作成される
・時系列にしたがって格納される
・最初のコミットはmasterブランチに追加される
#ブランチ
・履歴の流れを分岐して記録するもの
・他のブランチの影響を受けないため、同一リポジトリ内でそれぞれ開発が可能
・作業ブランチはチェックアウトによって切り替える
・チェックアウトすると、最後のコミットがワークツリーに展開される
・現在使用しているブランチの先頭をHEAD
###トピックブランチ
・機能の追加ややバグの修正といった課題の作業時に作成するブランチ
・統合ブランチから分岐する形で作成し、完了後に統合ブランチに取り込む
###統合ブランチ
・リリース版がいつでも作成可能にしておくためのブランチ
・トピックブランチの分岐元としても使用
・通常は、masterブランチを統合ブランチとして使用
・ブランチの統合にはマージとリベースが存在する
###リベース(rebase)
・作業が完了したブランチを分岐元(master)にくっつけること
・くっつけた順番でコミットが記録される
・通常は分岐先ブランチで分岐元につなぐことに注意!
・「re+base」と、ブランチの付け根を植え替えると考えるとわかりやすい
###マージ(merge)
・複数の履歴の流れを合流させる
・マージ時の新しいコミットが作成され、過去の履歴は改変されない
#リベースとマージの違い
・mergeは履歴が残るが複雑になる
修正内容がわかりやすいが、規模が大きくなると履歴が増える点に注意
・rebaseは履歴は単純だが元のコミットから変更内容が変わる
履歴が一本化され、見やすくなるが、競合発生時の対処が複雑になる点に注意
#参考
https://www.youtube.com/playlist?list=PLh6V6_7fbbo_M3CqTeJvuXB08--fibyBu
https://backlog.com/ja/git-tutorial/stepup/04/