これは何ですか?#
- Git は C 言語で開発された分散バージョン管理ソフトウェアで、一般的なバージョン管理ツールには GIT、SVN などがあります。
- ソースコードリポジトリ:https://git.kernel.org/pub/scm/git/git.git
何ができますか?#
ローカルバージョン管理#
- 記録確認
git reflog
- バージョンリセット
git reset
- ブランチ管理
- ブランチ作成
git branch
- ブランチ切り替え
git checkout
- ブランチマージ
git merge
- ブランチ作成
リモートインタラクション関連#
- ソースコードを取得
git clone <gitプロジェクトアドレス>
- リモートリポジトリと関連付けてインタラクション
- リモートリポジトリ追加
git remote add <エイリアス> <アドレス>
- コードをアップロード
git push <リポジトリエイリアス> <ブランチ名>
- コードをダウンロード
git pull <リポジトリエイリアス> <ブランチ名>
- ブランチ関連付け
git branch --set-upstream-to=<リモートリポジトリ名>/master master
- リモートリポジトリ追加
どうやって使うのですか?#
インストールと設定#
- ダウンロードして git クライアントをインストール
- git ユーザー情報を設定
git config --global user.name "wuxiangjun"
git config --global user.email "wuxiangjun1998@gmail.com"
#設定が成功したか確認
git config --list
- git キーを生成
デフォルトではユーザーディレクトリの.ssh ディレクトリに
ssh-keygen -t rsa -C "あなたのメールアドレス"
Tip
その後、アップロードまたはリモートリポジトリを変更する必要がある場合は、公開鍵をリモートリポジトリサーバーに設定し、秘密鍵はクライアントのローカルマシンに保管して、Git 使用時に検証を完了できるようにします。
ローカル基本使用#
Note
基本概念:
- 作業ディレクトリ: 自分のハードディスク上の実際のファイル位置で、add を通じてステージングエリアに追加;
- ステージングエリア: 実際にコミットを確認する前に、ファイルをステージングエリアに保存し、その後確認してからローカルリポジトリに commit;
- ローカルリポジトリ: git init 後に生成される.git フォルダ。
ローカルリポジトリとメインブランチの作成#
git init
:現在のディレクトリにローカルリポジトリを生成し、デフォルトで master ブランチを作成git status
:現在の git リポジトリ内のファイルの状態を確認
ステージングエリアとローカルリポジトリへのコミット#
git add .
:現在のディレクトリ内のすべての未追跡ファイルをステージングエリアに追加git commit -m "コミットメッセージ"
:ステージングエリアのファイルをローカルリポジトリにコミットgit commit -am
:ステージング + コミット
バージョンリセット#
git log
:コミットの記録を確認できますが、現在のバージョン以前のログのみを確認できますgit reflog
:すべてのコミットの記録を確認でき、現在のバージョン以降のものも含まれます。【HEAD マークは現在のバージョンを示します】git reset --hard HEAD^/記録番号
:ファイルを特定のバージョンの状態に戻します【HEAD^ は前のバージョンを示します】
ブランチ管理#
git branch <新しいブランチ名> <コミットハッシュ>
:ブランチ名を加えるとブランチを作成、加えないと現在のすべてのブランチを表示git switch/checkout(旧) <ブランチ名>
:ブランチを切り替えgit merge <ブランチ名>
:ブランチをマージ、どのブランチを変更するかを先に切り替え、その後他のブランチをマージします
関連インタラクション使用#
Important
基本概念:
- 普段会社では、一般的に gitlab を使って社内の git サーバーを構築し、ソースコードを保存します;
- 管理者とコミュニケーションを取り、アカウント権限を取得する必要があり、公開鍵を提供する必要がある場合もあれば、アカウントが割り当てられる場合もあります;
- gitee や github:はオープンソースコードホスティングプラットフォームで、リモートリポジトリに相当します。
リモートリポジトリの作成と関連付け#
- Github または Gitee を使用してリポジトリを自分で作成
- 最初に生成した公開鍵をリモートリポジトリに追加
- テスト:
ssh -T git@github.com
nslookup github.com
Warning
注意事項:
ssh -T git@github.com
は正常に認証されますが、正常にgit clone
できません;ssh: Could not resolve hostname github.com: Non-recoverable failure in name resolution
と表示されます;- 一日中試行錯誤しましたが、powershell は正常に DNS を解決しますが、git bash は常に正常に使用できないため、
nslookup github.com
コマンドでテストしました; - 一時的な解決策:powershell を使用して git コマンドを操作します。
git remote add <リポジトリエイリアス> git プロジェクトアドレス
:リモートリポジトリを追加し、名前を付けます
Tip
エイリアスを追加する前に、プロジェクト内で設定されているリモートリポジトリとその対応する URL を確認し、名前がすでに設定されている場合は、必要に応じて変更または削除できます。
git remote -v
:現在関連付けられているリポジトリを確認git remote rename origin new-origin
:リモートリポジトリのエイリアスを変更git remote set-url origin <new_path>
:リポジトリのアドレスをリセットgit remote remove origin
:リポジトリを削除
ソースコードを取得#
git clone gitプロジェクトアドレス
git pull リポジトリエイリアス ブランチ名
:pull
は実際にはfetch
とmerge
の組み合わせです
ソースコードをアップロード#
git push リポジトリエイリアス ブランチ名
:ローカルリポジトリの特定のブランチを関連するリモートリポジトリにアップロードgit push -u origin main:main
:ローカルのmain
ブランチをリモートリポジトリorigin
にプッシュし、ローカルのmain
ブランチをリモートのmain
ブランチ(すなわち上流ブランチ)を追跡するように設定しますgit branch --set-upstream-to=<リポジトリエイリアス>/master master
:同様に、デフォルトのpush pull
のリモートリポジトリ<リポジトリエイリアス>/master
をローカルのmaster
にバインドし、その後リポジトリ名とブランチ名を省略できます。