在實際工作生活中,我們可能不一定僅僅在一台電腦上編碼,比如:我們平時在單位電腦1上寫代碼,提交代碼到github賬戶,而我們也可能會在在家里的電腦2上繼續工作,提交代碼,這樣就是在不同的電腦上提交代碼到同一個github賬戶,同時在每一台電腦上都保持和github賬戶的一致,該怎么辦呢?
1,首先在電腦2上完成git的安裝和配置:
和在電腦1上的配置一樣,按照本系列git學習1中的教程安裝配置,其中用戶名和郵箱可以依然使用電腦1的用戶名和郵箱,也可以設置為其他用戶名和郵箱,均無影響。
2,然后需要在電腦2上創建另一個SSH Key,保證遠程github能夠識別電腦2
打開Shell(Windows下打開Git Bash),輸入
ssh-keygen -t rsa -C "youremail@example.com"
然后一路回車,無需設置密碼。
然后在用戶主目錄里找到.ssh目錄,里面有id_rsa和id_rsa.pub兩個文件,
id_rsa是私鑰,不能泄露,id_rsa.pub是公鑰,可以放心告訴別人
登陸Github,進入settings,點擊SSH Keys,由於電腦1的SSH Key已經上傳,所以可以看到已經有一個SSH Key了,這個SSH key是電腦1的,為了創建電腦2的SSH Key,點擊Add SSH Key,填寫任意Title,在Key文本框粘貼電腦2的id_rsa.pub文件的內容,然后點add Key。這個就設置好了
3:將遠程庫克隆到本地電腦2上
進入某個目錄,git bash進入命令行模式:
git clone git@github.com:NIck-Meng/gitest.git
然后進入該目錄,可以看到gitest文件夾,遠程的代碼已經被克隆到本地電腦2上了。
這樣就可在在電腦2上對代碼進行修改、提交等操作了,每次git push將本地修改提交到遠程后,遠程代碼就發生了改變。
4,當在電腦1上工作時,本地代碼和遠程的代碼發生了不一致,為了保持同步,所以需要將遠程的代碼同步到本地電腦1上
git fetch origin master
從遠程的origin的master主分支下載最新的版本到origin/master分支上
git log -p master..origin/master
然后比較本地的master分支和origin/master分支的差別
git merge origin/master
最后進行合並