git登录相关操作梳理
git登錄相關操作梳理
本文主要基于 Linux/Mac ,Windows下未經測試,不過估計差不多,在 git bash 內操作即可。
創建ssh key并關聯github等賬號
因為本地Git倉庫和GitHub倉庫之間的傳輸是通過SSH加密傳輸的,GitHub需要識別是否是你推送,GitHub只要知道了你的公鑰,就可以確認只有你自己才能推送,所以需要配置ssh key。
ssh-keygen -t rsa -C {"YOUR_EMAIL"}輸入命令會提示輸入文件名,沒有特別需求的話不需要特別輸入,用默認的即可,即直接一頓回車。之后在 ~/.ssh 下得到兩個文件:id_rsa 和 id_rsa.pub ,到 github 或者 gitlab 等的個人設置界面,添加 ssh key,把 id_rsa.pub 中的內容復制進去即可,一般這一步會需要輸入密碼。
同機器多用戶
有時候我們會有在同一臺機器上登錄多個 git 賬戶的需求,比如要同時登錄我們個人的 github 賬號,和在公司的 gitlab 賬號。
配置 config 文件
編輯 ~/.ssh/config 文件,該文件內保存了我們 ssh 其他機器時的信息,和 ssh 連接 git 的信息。
# Default user Host coding # host地址對應的別名,切換用戶使用該名稱 HostName xxx.xx.xx.xx # host地址 我這里填的是公司搭建的git倉庫的ip地址 User xiaofute1 IdentityFile ~/.ssh/id_rsa_default # ssh-key文件地址 默認只會讀取id_rsa# second user Host github HostName github.com User xiaofute2 IdentityFile ~/.ssh/id_rsa_github切換用戶
這里就用到了配置文件中的host對應的字段:
ssh -T git@github輸出類似如下信息則表示成功:
Hi xiaofute2! You've successfully authenticated, but GitHub does not provide shell access.驗證出錯
驗證過程中出現 Permission denied (publickey,gssapi-keyex,gssapi-with-mic,password).
刪除 known_hosts 文件。執行以下命令
ssh -T -v git@xxx.xx.xx.xx設置username和email
這里設置的 username 和 email 就是我們每次 commit 記錄的用戶信息。注意這里是不需要密碼的。驗證我們的用戶身份是通過上面的 ssh key。
全局
git config --global user.name "YOUR_USRE_NAME" git config --global user.enail "YOUR_EMAIL"可以用
git config --list來查看配置信息。
本地
本地倉庫文件夾下配置用戶名 會在當前倉庫中提交試用該用戶信息提交,覆蓋全局的配置、
git config user.name "YOUR_USER_NAME" git config user.email "YOUR_EMAIL"由于我們全局配置的為default user的用戶名和郵箱,在github上的commits history中會link不到用戶,所以每次要在 github 上 commit 內容時,需要在 git init 后需要配置該本地局部倉庫的用戶信息。
git設置用戶名密碼
我們剛才提到,上面設置git用戶名/郵箱是不需要密碼的。如果我們的 git 源在每次操作都需要你輸入用戶名/密碼驗證,我們依然需要每次設置,那么該如何辦呢?
這里主要是修改某個項目下的 .git/config 文件:
[core]repositoryformatversion = 0filemode = truebare = falselogallrefupdates = true [remote "origin"]url = https://github.com/Miss-you/kernel-netfilter-sample-code.gitfetch = +refs/heads/*:refs/remotes/origin/* [branch "main"]remote = originmerge = refs/heads/master # 上面是一般的本地倉庫的內容,如果想要保存用戶名密碼,添加以下兩行 [credential]helper = store再使用 git config --list 查看已設配置
feiqianyousadeMacBook-Pro:xt_GTPU yousa$ git config --list core.excludesfile=/Users/yousa/.gitignore_global user.name=Miss-you user.email=snowfly1993@gmail.com core.repositoryformatversion=0 core.filemode=true core.bare=false core.logallrefupdates=true core.ignorecase=true core.precomposeunicode=true remote.origin.url=https://github.com/Miss-you/xt_GTPU.git remote.origin.fetch=+refs/heads/*:refs/remotes/origin/* branch.master.remote=origin branch.master.merge=refs/heads/masterRef:
git命令行登陸github進行操作
git多用戶配置(多用戶&公司/個人)
git設置用戶名密碼
總結
以上是生活随笔為你收集整理的git登录相关操作梳理的全部內容,希望文章能夠幫你解決所遇到的問題。
- 上一篇: linux下ora 01110,ORA-
- 下一篇: PyTorch JIT与TorchScr