banner
武大胆

武大胆

不能为这个世界留下些什么,但是却想在这个世界留下些什么!
bilibili
x
discord user
email
steam

工具篇-Git

これは何ですか?#

  • Git は C 言語で開発された分散バージョン管理ソフトウェアで、一般的なバージョン管理ツールには GIT、SVN などがあります。
  • ソースコードリポジトリ:https://git.kernel.org/pub/scm/git/git.git

何ができますか?#

image

ローカルバージョン管理#

  • 記録確認 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

どうやって使うのですか?#

インストールと設定#

  1. ダウンロードして git クライアントをインストール
  2. git ユーザー情報を設定
git config --global user.name "wuxiangjun"
git config --global user.email "wuxiangjun1998@gmail.com"
#設定が成功したか確認
git config --list
  1. 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は実際にはfetchmergeの組み合わせです

ソースコードをアップロード#

  • git push リポジトリエイリアス ブランチ名:ローカルリポジトリの特定のブランチを関連するリモートリポジトリにアップロード
  • git push -u origin main:main:ローカルのmainブランチをリモートリポジトリoriginにプッシュし、ローカルのmainブランチをリモートのmainブランチ(すなわち上流ブランチ)を追跡するように設定します
  • git branch --set-upstream-to=<リポジトリエイリアス>/master master:同様に、デフォルトのpush pullのリモートリポジトリ<リポジトリエイリアス>/masterをローカルのmasterにバインドし、その後リポジトリ名とブランチ名を省略できます。

補足知識#

Git ワークフローの概要 ——Gitflow ワークフロー

読み込み中...
文章は、創作者によって署名され、ブロックチェーンに安全に保存されています。