本地倉庫即為在你的電腦上的項目文件,遠程倉庫即為服務器倉庫,如GitHub、GitLab或其他等。此處以GitHub介紹本地倉庫與遠程倉庫的同步。可先創建本地倉庫,也可先創建GitHub倉庫,但都需要創建一個GitHub倉庫。若先創建了GitHub倉庫,則使用前述git clone命令創建本地倉庫。
一、創建一個GitHub倉庫
在GitHub(https://github.com/)上創建賬號,並按下圖創建GitHub倉庫:
二、創建Git本地倉庫
安裝最新版的Git,並設置Git的username和email address后,使用<創建Git本地倉庫>部分的內容創建Git本地倉庫:使用git init初始化一個已有項目目錄或使用git clone一個遠程倉庫。
三、使用HTTPS授權GitHub
如果以HTTPS與GitHub鏈接,可使用一個credentials helper來在Git中cache你的GitHub用戶名和密碼。
1、先打開該credentials helper,以便Git保存你的用戶名和密碼。
默認情況下Git會在15min內cache你的用戶名和密碼。
$ git config --global credential.helper cache # Set git to use the credential memory cache
2、再更改默認的密碼cache時間:
$ git config --global credential.helper 'cache --timeout=3600' # Set the cache to timeout after 1 hour (setting is in seconds)
四、使用SSH授權GitHub
如果以SSH與GitHub鏈接,在每個從GitHub使用push或pull的電腦上都必須生成SSH keys。
1、生成一個新的SSH key
①、使用以下命令在終端生成一個新的ssh key,注意以你自己的GitHub email address代替:
$ ssh-keygen -t rsa -b 4096 -C "your_email@example.com"
②、當提示“Enter a file in which to save the key,"時,按下Enter鍵,即以默認文件位置保存。
③、當提示”type a passphrase"時,鍵入安全密碼:
以上就生成了所需的public ssh key.
2、將你的SSH key添加到ssh-agent
如果不想每次使用你的SSH key時重復輸入你的密碼,可以將你的SSH key添加到SSH agent,該agent將管理你的SSH key並保存你的密碼。
①、使用以下命令在終端打開該ssh-agent:
$ eval "$(ssh-agent -s)"
②、將你的SSH private key添加到該ssh-agent。
$ ssh-add ~/.ssh/id_rsa
③、將該SSH key添加到你的GitHub賬戶。
- 復制你的SSH key.
$ sudo apt-get install xclip # Downloads and installs xclip. If you don't have `apt-get`, you might need to use another installer (like `yum`)
$ xclip -sel clip < ~/.ssh/id_rsa.pub # Copies the contents of the id_rsa.pub file to your clipboard
- 在GitHub頁面,在右上角點擊你的頭像,再點擊Settings:
- 在用戶設置面板,點擊SSH and GPG keys,再點擊New SSH key或Add SSH key:
- 輸入該新的SSH key的名稱,粘貼你的SSH key到“Key",再點擊Add SSH key即可(可能需要輸入密碼驗證)。
注意:使用HTTPS或SSH均可鏈接到GitHub,一般使用HTTPS會快一些,推薦使用HTTPS。因此只需要設置其中一種即可,即只執行<三>或<四>之一即可。
五、將本地倉庫與GitHub倉庫進行關聯
在命令行,切換到本地倉庫所在的項目目錄下,使用以下指令實現本地倉庫與GitHub倉庫的關聯:
$ git remote add origin git@github.com:yanqingyang/learning_git.git $ git push -u origin master
或
$ git remote add origin git@github.com:yanqingyang/learning_git.git $ git push -u origin master
六、總結
將Git本地倉庫與GitHub遠程倉庫進行同步有以下幾個步驟:
- 創建GitHub遠程倉庫;
- 創建Git本地倉庫(1和2可互換);
- 授權GitHub,以HTTPS或SSH方式;
- 將Git本地倉庫與GitHub遠程倉庫對應起來;
此外,將本地Git倉庫與GitLab倉庫進行關聯並同步,其過程與上完全一致,重點在於以HTTPS或SSH鏈接部分的設置。