如何設定多個git account

2021-09-25 15:11:08 字數 1585 閱讀 9528

背景:

乙個公司的git倉庫賬號

乙個我的個人github賬號

我怎麼在一台電腦上同時配置呢(同時配置的想法是,公司專案a我可以拉下來,提交的commit是公司的張號,我的私人專案我也可以拉下來,提交的commit是我的個人賬號)

最後經過實踐,以上的想法沒完全實現。不過也可以滿足需求了吧算

個人理解,很多地方名詞表述不標準,反正是那個意思

以下:1️⃣首先分別為兩個account生成rsa :

ssh-keygen -t rsa -c "[email protected]" -b 4096 選擇儲存位置的時候記檔名帶個字首方便區分,e.g fivejoy_id_rsa

2️⃣為當前電腦配置兩個account

vim ~/.ssh/config

輸入以下內容(下劃線部分是需要修改的)

# gitlab server - work

host server.host

rsaauthentication yes

identityfile ~/.ssh/config/xx_id_rsa

# gitlab server - github

host github.com

rsaauthentication yes

identityfile ~/.ssh/config/fivejoy_id_rsa

3️⃣按照常規把pub-key貼上到git的sshkey就行

此時在你的目錄下任何位置 git clone 來自這兩個git server的**都可以。

但是如果分別進行git add +commiit ,如果曾經配置過git config --global user.name.. git log顯示你的提交資訊是global配置的,如果沒有配置過,會預設使用你的電腦名作為git提交賬戶。

注意git只有以下幾個維度配置

git config --global

git config --system

git config --worktree

git config --local

(預設沒有寫這個的時候 即 直接git config user.name 使用的就是--local,表示只針對當前這個responsitory)

(乙個responsity 中肯定有乙個.git目錄可以用ls -a 看到,cat xx/.git/conf 可以看到--local配置的是當前resp的conf)

因為git conf會逐漸覆蓋,用--local的覆蓋--global『

所以最後妥協選擇了如下辦法

4️⃣git conf --global 設定乙個常用的,如果是個人電腦就設定自己的,如果是公司電腦就設定公司的account

5️⃣如果需要對另乙個account的project進行修改,直接在那個project(是個resp)下git config user.name

最後,本來是想用--worktree設定的,因為看起來像對某個目錄下所有的工作區都配置,但是沒有成功,可能是因為這個某個目錄 並不是其下目錄的resp,並沒.git/conf對其進行配置。

不過現在退而求其次也可以了,畢竟,在家開啟公司專案的數量少之又少,在公司開啟個人專案的數量也少之又少

activiti 如何設定多個審批人(十五)

1 activiti 中有互斥閘道器 和 並行閘道器 在實際專案開發中,經常會出現一項功能,任意審批人審批都可以的情況 例如 在5院委外專案申請中,生產單位上報的申請,計畫經營處中任意一人審批,該申請就通過 同時設定多個審批人,此功能和設定單個審批人 稍有差異 具體實現方法是 在審批人的任務監聽介面...

spring設定多個ViewResolver

viewresolver用來解析視 件,如常用的jsp型別的檔案。id jspviewresolver class org.springframework.web.servlet.view.internalresourceviewresolver name prefix value name suf...

mysql多個TimeStamp設定

timestamp設定預設值是default current timestamp timestamp設定隨著表變化而自動更新是on update current timestamp 但是由於 兩行設定default current timestamp是不行的。還有一點要注意 create table...