作者:contr4l_
Git および GitHub は、現在最も広く使用されているコード管理ソリューションと言えます(類似のソリューションには、時代の涙である SVN、同様に git に基づく GitLab、Gitee などがあります)。このチュートリアルでは、読者に手取り足取り Git のインストール、GitHub リポジトリの取得、コードの修正およびコミットなどの作業を教え、オープンソースを受け入れるための基礎を築きます。
Git のインストール#
git はコマンドラインプログラムとして、コードのダウンロード、コミット、ブランチ管理の機能を提供しています。そのダウンロード先は:Git Downloadです。Windows の場合、通常はStandalone Installer:64-bit Setupを選択すれば大丈夫です(非常に古い 32bit システムの場合は 32-bit Setup を選択することもできます)。
この時、Win+R
を押し、powershell
と入力して実行し、ウィンドウにgit -v
と入力すると、以下のような表示が出るはずです:
PS C:\Users\ctrl> git -v
git version 2.40.0.windows.1
- バージョン情報はインストールした git のバージョンによって異なる場合があります
- エラーが表示された場合は、git のインストールプロセスに問題があったか、git.exe のパスがシステムの環境変数に正しく追加されているかを確認する必要があります
Github の登録、SSH キーの追加#
まず、GitHub アカウントを登録する必要があります。この際、GitHub/Google とのネットワーク接続の問題を自分で解決してください(一般的に GitHub への直接接続はスムーズですが、一部の教育ネットワークシステムでは問題が多く、地域のネットワークサービスプロバイダーに関連しています)。
現在の登録ページは本当にクールで、Google は素晴らしい会社です 233
今、あなたは GitHub に自分のアカウントでログインできます。
git clone
を行う前に、非常に重要なことを行う必要があります。それは、自分のローカルのSSHキー
を自分のGitHubアカウント
に追加することです。操作手順は以下の通りです:
# 1. powershellで、ssh-keygen.exeと入力し、エンターを押し続けます
# ここで-fオプションを追加したのは、既に生成された公開鍵を上書きしないためです
PS C:\Users\ctrl> ssh-keygen.exe -f github
Generating public/private rsa key pair.
Enter passphrase (empty for no passphrase):
Enter same passphrase again:
Your identification has been saved in github
Your public key has been saved in github.pub
The key fingerprint is:
SHA256:JJ+NVRVXLj2aWTGQj+5Jx6edEnpQG146uqvMmbR9uhI ctrl@CtrlPC
The key's randomart image is:
+---[RSA 3072]----+
| .o=++|
| . . +o|
| . . . +oo|
| + = +=+.|
| S . ++* |
| E . O o.|
| .. * =oo|
| +.=o *...|
| Bo*B . |
+----[SHA256]-----+
# 2. 続けてcat ~/.ssh/id_rsa.pubと入力します
PS C:\Users\ctrl> cat ~/.ssh/id_rsa.pub
ssh-rsa ****** ctrl@CtrlPC
# 3. 画面上のssh-rsaで始まる長い文字列をコピーします
# 4. GitHubページで、右上の自分のアイコンをクリックし、Settings-SSH and GPG keys-New SSH keyを順にクリックします
# 5. 先ほどコピーした長い文字列をKeyのテキストボックスに貼り付け、Add SSH keyをクリックします。Titleは空白のままで大丈夫です
Github リポジトリの取得#
今、あなたは私たちのwiki があるリポジトリにアクセスする必要があります。
まず、このリポジトリを自分のリポジトリにfork
する必要があります。これは、修正を行い、コミットするための基礎です。
注意:
clone main branch only
オプションは必ずチェックを外してください!私たちは gh-pages ブランチを基に開発を行っています。
今、あなたはcontr4l.github.io
があなたの名義になっているのを見ることができます。以下の図のように。
次に、コードを取得します。まず、SSH のコード取得アドレスを見つけ、以下の図のように、powershell
でgit clone {先ほどコピーした.gitで終わるアドレス}
と入力します。
PS C:\Users\ctrl> git clone [email protected]:fakeContr4l/contr4l.github.io.git
Cloning into 'contr4l.github.io'...
remote: Enumerating objects: 242, done.
remote: Counting objects: 100% (242/242), done.
remote: Compressing objects: 100% (145/145), done.
remote: Total 242 (delta 69), reused 202 (delta 35), pack-reused 0Receiving objects: 67% (163/242), 1.63 MiB | 39.00 Ki
Receiving objects: 100% (242/242), 1.69 MiB | 45.00 KiB/s, done.
Resolving deltas: 100% (69/69), done.
この時、あなたの現在のディレクトリにはcontr4l.github.io
という名前のフォルダが追加され、これが私たちの作業ディレクトリです。
ブランチを切り替えて編集、コミットする#
まず、デフォルトの main ブランチを私たちの作業ブランチgh-pages
に切り替える必要があります。
cd contr4l.github.io
git checkout gh-pages
# 表示は以下のようになるはずです:
# Switched to branch 'gh-pages'
# Your branch is up to date with 'origin/gh-pages'.
次に、自分のリポジトリと元のリポジトリの追跡関係を確立し、ローカルのコードが最新であることを確認します。
# upstreamという名前の上流gitを追加します
git remote add upstream [email protected]:contr4l/contr4l.github.io.git
# 上流の内容を取得します
git fetch upstream
# remote: Enumerating objects: 101, done.
# remote: Counting objects: 100% (101/101), done.
# remote: Compressing objects: 100% (26/26), done.
# remote: Total 63 (delta 8), reused 63 (delta 8), pack-reused 0
# Unpacking objects: 100% (63/63), 857.91 KiB | 53.00 KiB/s, done.
# From github.com:contr4l/contr4l.github.io
# * [new branch] gh-pages -> upstream/gh-pages
# * [new branch] main -> upstream/main
# 上流の最新の変更をローカルに同期します
git pull upstream gh-pages
# From github.com:contr4l/contr4l.github.io
# * branch gh-pages -> FETCH_HEAD
# Updating e820fac..b08386a
# Fast-forward
# ...
注意:毎回変更を行う前に、
git pull upstream gh-pages
の操作を実行して、ローカルの変更とリモートの変更が衝突しないようにしてください。
次に、あなたはローカルエディタでこのリポジトリを自由に編集し、docsify のリアルタイムプレビューを通じて、変更が自分の期待に合っているかを確認できます。
最後に、変更を自分のリポジトリにコミットする必要があります。操作は以下の通りです:
# まず、自分がcontr4l.github.ioのルートディレクトリにいることを確認します
pwd
# Path
# ----
# C:\Users\ctrl\contr4l.github.io
# 次に、すべての変更をステージングエリアに追加します
git add .
# コミットを実行し、コミットメッセージを追加します
git commit -m "{ダブルクォーテーション内に変更のメモを記入します。例:armorページの翻訳}"
# プッシュを実行し、ターゲットは自分のリポジトリのgh-pagesブランチです
git push origin gh-pages
# PS C:\Users\ctrl\contr4l.github.io> git push
# Enumerating objects: 5, done.
# Counting objects: 100% (5/5), done.
# Delta compression using up to 12 threads
# Compressing objects: 100% (3/3), done.
# Writing objects: 100% (3/3), 381 bytes | 381.00 KiB/s, done.
# Total 3 (delta 2), reused 0 (delta 0), pack-reused 0
# remote: Resolving deltas: 100% (2/2), completed with 2 local objects.
# To github.com:fakeContr4l/contr4l.github.io.git
# e820fac..7ce3e7d gh-pages -> gh-pages
最後に、上流ブランチにpull request
を送信し、自分の変更をリリースブランチに統合するように申請します。この際、いくつかの点に注意してください:
- 元のブランチとターゲットブランチは両方とも gh-pages を選択してください(もしローカルで他のブランチで操作している場合は、実際の状況に応じて判断してください)
- 自分のリポジトリから
pull request
を作成することを忘れないでください。contr4l のリポジトリからではありません
次に、あなたは contr4l のリポジトリのpull request
リストに新しい PR 申請が表示されるのを見ることができます。以下の図のように。
この時、下方の変更内容が自分の変更と一致しているかを確認してください
また、
no conflict
を確認してください。衝突がある場合、その原因はあなたの変更が既存の変更と重なっている可能性があります。ローカルで衝突を解決してから再度コミットしてください。
VsCode での衝突解決は、
use your commit
またはuse remote commit
を選択するだけで非常に簡単です。