#まずGitとは
プログラムソースなどの変更履歴を管理する、分散型のバージョン管理の仕組みです。
分散型とは、
サーバとローカル環境(自分のパソコンなど)に、リポジトリが作成されるということです。
ローカルで開発しコードの変更履歴を保存(コミット)することができるので、
常時ネットワークに接続していなくても作業ができます。
サーバのリポジトリと同期するときに、マージ等を含め作業すればよいこととなります。
#Gitの仕組みで動いているWebサービスについて
複数あります。
・GitHub
無料では、すべてソースは公開されます。
・BitBucket
無料でも、5ユーザーまでソースを非公開で共有できます。
など。
#GitHubとは
GitHubはGitHub社で運営されており、個人・企業問わず無料で利用することができます。
無料サービスではリポジトリは公開されてしまいますが、
有料サービスを利用すると、非公開のリポジトリも作成できます。
#GUIは何を使う
会社で使い始めたこともあり、VSCode一択です(笑)
VSCodeとは、マイクロソフトが開発したソースコードエディタである。
Windows、Linux、macOS上で動作し、
デバッグ・Gitクライアントの統合・シンタックスハイライト・
インテリセンス・スニペット・リファクタリングなどの機能を持つ。
#Gitの用語
・リモートリポジトリ
Webサービス上のソース・変更履歴の貯蔵庫(GitHubなど)
・ローカルリポジトリ
ローカルPC上のソース・変更履歴の貯蔵庫
・クローン
リモートリポジトリの全データ(対象のリポジトリのみ)を、
ローカルリポジトリへダウンロード
・ステージ
コミット対象を選択
・コミット
ローカルリポジトリにファイルを保存
・プッシュ
ローカルリポジトリの変更分を、リモートリポジトリにアップロード
・プル
リモートリポジトリの変更分を、ローカルリポジトリにダウンロード
(ローカルのファイル更新)
・フェッチ
リモートリポジトリの変更分を、ローカルリポジトリにダウンロード
(ローカルのファイルは更新されない)。
ローカル上でリモートとの変更を確認できるのみ
・ブランチ
対象と、全く同じフォルダ・ファイル構造を作成
・マージ
ブランチ同士を結合(過去のコミットは改変されずに、
マージするためだけのコミットが作成される)
・リベース
ブランチ同士を結合(過去のコミットを改変して、履歴が一直線になる)
※履歴がみやすいけど、履歴が改変される
※プルは、内部的にフェッチとマージをおこなっているらしい。
#使ってみた
①Git,VSCodeをインストール
・https://gitforwindows.org
⇒stable(安定版)、insider(最新版)あり。
私は、いったん、insiderで。
・https://code.visualstudio.com/
②ディレクトリを作成し、右クリックからVSCodeを起動
③クローンを作成
▼URLはGitHubより
⇒これで、リモートリポジトリがローカルリポジトリにコピーされた。
④ブランチを作成
⑤ソース修正
⑥チェンジステージ&コミット
⇒これで、ローカルリポジトリに反映された。
⑦プッシュ
⇒これで、リモートリポジトリに反映された。
新しく、ブランチ【add_date】が追加されている。
#+α
###▼プルリクエスト
プルリクエストとは、自分が行った変更を取り込んでもらうように
管理者に提案することである。
下記の運用が多いらしい。
①クローン
⇒リモートリポジトリをコピーし、ローカルリポジトリを作成
②自分が担当する実装用の、ブランチを作成
③変更点をコミット
⇒ローカルリポジトリに反映
④"②"のブランチをプッシュ
⇒リモートリポジトリに反映
⑤GitHubの画面でプルリクエストを送信
※VScode上からプルリクエストするには(拡張機能:GitHub Pull Requests)
⑥管理者がプルリクエストの内容を確認し、問題なければ元のブランチにマージする。
###▼その他
・スカッシュ・・・コミットを1つにまとめる(何度も変更して履歴が見づらいとき)
・リバート・・・過去のコミットを打ち消す
・タグ付け・・・リリースのバージョン番号をつけたり、公開日をいれたり。
・同期除外対象ファイルを設定(.gitignore)
ファイルを右クリックして。。
#Git関係ないけど
###▼あったんや、日本語化!
これはありがたい!(*´ω`)
###▼pythonのデバッグ(extensionでpythonを追加してデバッグ)
#まとめ
とりあえず、闇雲に通しで動かしてみた感じです(^^;
使い慣れたタイミングで、記事を更新しようと思います!