この記事の対象者
- Git が初めての人
- Github Desktopを初めて使う人
この記事で扱うこと
- Github Desktopの導入
- リポジトリの作成
- Commit
- Push
- Fetch & Pull
- Conflictの解消(少しだけ)
そもそもGithubとは?
- バージョン管理システムの1つ
- 複数人で共同編集する時に便利
- 詳しくはこの辺を見ると良さそうです → https://backlog.com/ja/git-tutorial/intro/01/
アカウントを作ろう!
- Githubにアクセス
- Username, Email address, Password を入力する
- 人間であることを証明して下さい
- メールアドレスに確認コードが届くので,認証してください
- アンケートに答えて下さい(英語ですが,適当に…)
- 料金プランはFreeでOK("Continue Free" 的なボタンをクリック)
- 完了!
- usernameは他の人とかぶらないようにする必要があります
- 学生の人は学生認証を受けておくと,有料プランが無料で使えます
- このページの「Get Student benefits」から,学校のメールアドレス等を使って認証を受けて下さい
Github Desktopをインストールしよう!
- Github DesktopをDL,インストールしてください
- Github Desktop が起動したら,画面の指示に従ってサインインしてください
- 完了!
フォルダをGit監視下に置いてみよう!
フォルダをGit監視下に置くと,バージョン管理ができるようになります!
Githubで管理しているフォルダを Repository(リポジトリ) と言います.
-
適当な場所に新規フォルダ(ディレクトリ)を作成し,その中に(メモ帳などで)適当なテキストファイルを作って下さい
test.txtHello, world
-
Github Desktop で File → Add a local repository を選択します
-
「Choose...」を押して先程のフォルダを選択してください
-
「This directory does not appear to be a Git repository.」という警告が出ますので「create a repository」してください
-
図のように設定して下さい
-
完了!
ファイルの編集とCommit
Gitでは,作業に一区切り付いた段階で Commit(コミット) することでバージョンを保存することができます!
「あーこの編集間違ってるなー…」とあとから気づいたときも, Commit してあれば 過去のバージョンに戻せます!
-
先程のテキストファイルを適当に編集し保存して下さい
test.txtHello, world!!!!
-
Github Desktopを開くと,変更ログが表示されていると思います
-
作業内容を記載して,Commitボタンを押して下さい
- このとき, パスワード等の機密情報をCommitしないで下さい
- 次の工程でPush(インターネットへアップロード)すると,変更履歴ごとインターネット上に残るので,他者にパスワードが見られてしまう危険があります
-
「History」を押すと,変更履歴の一覧が見れます
リポジトリをインターネット上にPushしよう
インターネット上にリポジトリをPushすると,他人と共同編集ができたりします!
Gitを使えば,複数人で同じファイルを変更したりしても,うまいこと調整して変更をマージすることができます.
-
(初回のみ)「Publish repository」を押します
-
基本的にはこのまま「Publish Repository」を押します
- 「keep this code private」のチェックを外すと, 世界中に公開されます
- privateであってもインターネット上にファイルの変更履歴が残ります.繰り返しになりますが, パスワード等を絶対に載せないで下さい. 後から消しても履歴には残るのでインターネット上に残ってしまいます.
-
2回目以降はインターネット上に登録されているので,「Push origin」になります.押すと,Commitの履歴がインターネット上にアップロードされます
-
完了!
インターネットから最新版のコードをPullしよう!
他の人がファイルを編集したり,別のPCでファイルを変更したりして,インターネット上のファイルが更新されたときは,その更新点を自分のPCに取り込む必要があります.
変更があるかどうかをチェックすることを fetch(フェッチ) ,変更点を自分のPCに取り込むことを pull(プル) と言います.
Github Desktopでは,クリックだけで fetch & pull できます!
-
Commitしていない変更点がある場合は,先にCommitしてください
-
変更点がない場合 & Pushするものがない場合,以下のように「Fetch origin」と書いてあります.ここをクリックしてください.
-
インターネット上の最新のコードがダウンロード(pull)されます.「History」を確認すると,コードが変更されているのが分かります.
-
完了!
変更点が競合したときは…
複数人で共同編集したりすると,「ピンポイントで同じ行を編集しちゃった!」というときがあります.このとき,Gitは 競合(conflict) というエラーを出します.
この状態でファイルを開くと以下のようになっています.
(この例では,インターネット上のコードでは3行目に中国語を,PC上のコードでは3行目に韓国語を追加してしまったとします.)
Hello, world!!!!!!!!!
こんにちは,世界!!
<<<<<<< HEAD
안녕하세요, 세계입니다!!
=======
你好,世界!
>>>>>>> 98585ed975dcabd612526be486329e6f4581655b
-
<<<<<<< HEAD
〜=======
の間に書かれているのが,PC上のコード -
=======
〜>>>>>>> [commit id]
の間に書かれているのが,インターネット上のコード
こうなった場合は,手動でファイルを修正する必要があります.
(どちらの変更を取り入れるかは時と場合による.場合によっては両方取り入れることも.)
今回は, 両方の変更を取り入れる ことにしてみます.
この場合は, <<<<<<< HEAD
, =======
, >>>>>>> [commit id]
を消すだけでOKです.
Hello, world!!!!!!!!!
こんにちは,世界!!
안녕하세요, 세계입니다!!
你好,世界!
ファイルを編集して保存すると,以下のようにエラーが解消されます!
「Continue Merge」を押してください.
これで再びCommitしたり,Pushしたりできるようになります.
(Conflictを解消した)
Pushすると,「Merge branch 'main' of ...」というようなHistoryが残っていると思います.
これがConflictを解消したCommitログになります.
他にも機能がたくさん!
今回紹介していない機能として
- Branch 機能
- Tag 機能
などもあります.
Github DesktopはシンプルなGUIなので,初心者におすすめだと思います!
素敵なGit Lifeを!