1つのマシンで複数のgitアカウントをセットアップして使用する
独立したSSHキーを使用します。各gitアカウントの排他的なSSHキー(個人や仕事など)を生成し、SSHエージェントに追加します。 2。ssh configファイルを構成します:〜/.ssh/config(github.com--sersalやgithub.com-workなど)の異なるアカウントのカスタムホストを設定して、対応するキーをバインドします。 3。倉庫のリモートURLを更新します。クローンまたは設定するときにカスタムホストを使用して、正しいキーが自動的に一致していることを確認します。 4.倉庫に従ってgitユーザー情報を設定する:グローバルユーザー.name/email構成を削除し、各プロジェクトで対応するID情報を個別に設定して、プロジェクトクロスの混乱を避け、複数のGitアカウントの安全な分離を完全に実現します。
個人および専門的なプロジェクトで作業したり、複数の組織のリポジトリを管理したりする場合は、同じマシンで複数のGitアカウントを使用する必要があります。良いニュース:Gitはこれをよくサポートしていますが、間違ったアイデンティティの下で混乱や偶発的なコミットを避けるために少しセットアップが必要です。
これがきれいかつ安全にそれを行う方法です:
✅1。sshキーを使用します(httpsユーザー名/パスワードではありません)
パスワードやキャッシュされた資格情報のジャグリングを避けてください。代わりに、アカウントごとに個別のSSHキーを生成します。
ステップ:
-
あなたの個人的なgithubのために:
ssh -keygen -t ed25519 -c "your -personal-email@example.com" -f〜/.ssh/id_ed25519_personal
あなたの仕事のためにgithub:
ssh -keygen -t ed25519 -c "your-work-email@company.com" -f〜/.ssh/id_ed25519_work
次に、両方をSSHエージェントに追加します。
ssh-add〜/.ssh/id_ed25519_personal ssh-add〜/.ssh/id_ed25519_work
パブリックキー( *.pub
)を相対Github/gitlabアカウントに追加します。
✅2。SSH構成ファイルを構成します
これは、Repoのドメインまたはホスト名に基づいて使用するキーをGitに伝えるマジックファイルです。
編集~/.ssh/config
(存在しない場合は作成):
#パーソナルGithub ホストgithub.com---ペルソル ホスト名github.com ユーザーGit IdentityFile〜/.ssh/id_ed25519_personal #作業github ホストgithub.com-work ホスト名github.com ユーザーGit IdentityFile〜/.ssh/id_ed25519_work
これで、これらのカスタムホストを使用してリモコンをクローンまたは更新できます。
✅3。リモートURLをクローンまたは更新します
リポジトリをクローニングするときは、SSH構成からカスタムホストを使用します。
個人的:
git clone git@github.com-sersonal:your-username/repo.git
仕事:
git clone git@github.com-work:your-work-org/repo.git
すでにデフォルトのgithub.com
でリポジトリをクローニングしていますか?リモートを更新するだけです:
git remote set-url origin git@github.com-work:your-work-org/repo.git
これにより、適切なSSHキーが自動的に使用されます。
✅4。リポジトリごとにgitユーザーを設定します(グローバルではありません)
間違ったメールでコミットしないでください。複数のIDを管理している場合は、 git config --global user.name/email
を使用しないでください。
代わりに、リポジトリごとに設定します。
Cd/path/to/personal-repo git config user.name "your personal name" git config user.email "your-personal-email@example.com" cd/path/to/work-repo git config user.name "your work name" git config user.email "your-work-email@company.com"
リポジトリでアクティブなアイデンティティを確認できます。
git config user.email
?プロのヒント:シェルエイリアスまたはスクリプトを使用して、フォルダーに基づいてGIT構成を自動設定します(たとえば、パスが
/work/
、work IDを設定します)。
ボーナス:偶発的なグローバル構成は避けてください
すでにグローバルGIT構成を設定している場合は、削除してください。
git config -global-unset user.name git config -global-unset user.email
これにより、プロジェクトごとに使用しているアイデンティティ、つまり大きな間違いを防ぐ小さな摩擦について考える必要があります。
それでおしまい。 SSH Keys、Smart〜 ~/.ssh/config
、およびRepo-Local Git Configsを使用すると、1つのマシンで複数のGit IDを安全かつきれいに管理できます。これ以上「なぜこれが私の個人的なメールの下にコミットされるのですか?」驚き。
基本的に:
- アカウントごとの一意のSSHキー
- ConfigのカスタムSSHホスト
- ローカル(グローバルではない)gitユーザー/レポアごとの電子メール
複雑ではありません - 見落とすのは簡単です。
以上が1つのマシンで複数のgitアカウントをセットアップして使用するの詳細内容です。詳細については、PHP 中国語 Web サイトの他の関連記事を参照してください。

ホットAIツール

Undress AI Tool
脱衣画像を無料で

Undresser.AI Undress
リアルなヌード写真を作成する AI 搭載アプリ

AI Clothes Remover
写真から衣服を削除するオンライン AI ツール。

Clothoff.io
AI衣類リムーバー

Video Face Swap
完全無料の AI 顔交換ツールを使用して、あらゆるビデオの顔を簡単に交換できます。

人気の記事

ホットツール

メモ帳++7.3.1
使いやすく無料のコードエディター

SublimeText3 中国語版
中国語版、とても使いやすい

ゼンドスタジオ 13.0.1
強力な PHP 統合開発環境

ドリームウィーバー CS6
ビジュアル Web 開発ツール

SublimeText3 Mac版
神レベルのコード編集ソフト(SublimeText3)

gitリポジトリにサブツリーを追加するには、最初にリモートリポジトリを追加して履歴を取得し、次にGitmergeおよびgitread-treeコマンドを使用してサブディレクトリにマージします。手順は次のとおりです。1。gitremoteadd-fコマンドを使用して、リモートリポジトリを追加します。 2. gitmerge-srecursive-no-commitを実行して、ブランチコンテンツを取得します。 3。GitRead-Tree-Prefix =を使用して、プロジェクトをサブツリーとしてマージするディレクトリを指定します。 4.変更を送信して追加を完了します。 5.更新するときは、最初にgitfetchを繰り返し、マージとステップを繰り返して更新を送信します。この方法により、外部プロジェクトの履歴が完全で保守しやすくなります。

マルジングのgitブランチを削除するには、gitbranch-dコマンドを使用します。このコマンドは、ブランチのマージステータスを無視し、直接削除します。これは、テスト、放棄された特徴の枝、または遠隔から再作成する必要がある地元の古い枝の後の役に立たない枝に適しています。ただし、提出記録は削除後も局所的に存在し、最終的にはゴミ収集メカニズムによってクリーンアップされることに注意する必要があります。誤った削除の後、gitreflogを介して復元できますが、ウィンドウ期間は短いです。したがって、実行する前に、ブランチが役に立たず、非協力的であり、データの損失を避けるために名前が正しいことを確認してください。

TocreateabranchfromastashinGit,firstlistyourstasheswithgitstashlisttoidentifythecorrectone.Next,createanewbranchusinggitcheckout-bnew-branch-name,thenapplythestashviagitstashapplystash@{0}.Optionally,committheappliedchangeswithgitadd.andgitcommit-m&q

gitmerge-no-ffを使用して、たとえあなたが早送りすることができても、Gitを強制してマージコミットを作成するように強制します。 1. -NO-FFFパラメーターを使用して、ブランチの履歴を保存し、変更の原因を明確にします。 2。この方法は、コードレビューまたは監査中に特に役立ち、GitFlowなどの厳格なブランチ戦略でよく使用されます。 3.この操作は、gitconfig - globalalias.merge-noff '!gitmerge-no-ff'などのエイリアスまたはスクリプトを構成することで自動化できます。

はい、コマンドを使用して新しいgitブランチに切り替えることができます。特定の方法は次のとおりです。1。gitswitch-c:これはよりモダンで明確な方法です。たとえば、gitswitch-cnew-featureはすぐにNew-featureという名前のブランチを作成して切り替えます。 2。Gitcheckout-Bを使用:これは古いが一般的に使用される方法です。たとえば、Gitcheckout-Bnew-Featureは前者と同じ効果を持っています。注:GitswitchはGit2.23で導入され、古いバージョンではGitcheckoutを使用する必要があります。 Gitswitch-Cnewなど、他のブランチに基づいてブランチを指定できます。

tocleanlyremoveagitsubmodule、firstdeinitializeit withgitsubmoduledeinit-fpath/to/submodule、thendeleteitsfilesviarm-rf.git/modu les/path/to/submoduleandgitrm-fpath/to/submodule、およびfinallyremoveredentriesfrom.git/configand.gitmodulesbeforecommitting

rungitreflog - date = localtoviewrecentreceferenceChangESANDLOCATEDELETEDBYITSNAMEORCOMMITHASH.2.IDEDIFYTHECOMMITHASHJUSTBETEBETHE "deletedBranch" message inthereflogoutput.3.3.RecreatetheTheTheTheTheTheTheTheTheTheTheTheTheTheTheTheTheTheTheTheTheTheTheTheTheTheTheTheTherは

gitユーザー名とメールボックスを設定する方法は、gitconfig - globaluser.nameおよびgitconfig - globaluser.emailコマンドを使用して、ID情報をグローバルに構成することです。特定の手順は次のとおりです。1。ユーザー名の設定:gitconfig - globaluser.name "yourname"を実行します。 2。メールボックスを構成します:gitconfig - globaluser.email "your.email@example.com"; 3.設定の確認:gitconfiguser.nameとgitcoを渡します
