Linux git 配置 免密 登錄

Linxu 配置git

首先安裝

yum install gitgit

設置帳號

用戶名和郵箱就是GitHub註冊時填寫的用戶名和郵箱(這裏的【sunzefa】【sunzefa@qq.com】舉例使用,切勿當真)github

git config --global user.name "sunzefa"  
git config --global user.email "sunzefa@qq.com" 複製代碼

 查看用戶名 git config user.name bash

查看用戶郵箱 git config user.email ssh

有一點要注意, user.name/email後面千萬記得加空格,不然你就是提交了,Git也不會提醒你配置出錯fetch

生成SSH Keys

ssh-keygen -t rsa -C "sunzefa@qq.com"複製代碼

鍵入該命令後,連續三次敲擊回車鍵,顯示以下,生成的公鑰存儲位置爲:/root/.ssh/
ui

查公鑰信息url

公钥

登入GitHub,配置SSH Keys

add

登錄以後驗證

驗證git pull 命令是否不須要密碼spa

試了一下,仍是須要,怎麼辦呢?code

原來啊,這個項目是直接使用https url克隆到本地。cdn

使用http 和 ssh 區別

1.clone項目:使用ssh方式時,首先你必須是該項目的管理者或擁有者,而且須要配置我的的ssh key。而對於使用https方式來說,就沒有這些要求。

 2.push:在使用ssh方式時,是不須要驗證用戶名和密碼,若是你在配置ssh key時設置了密碼,則僅須要驗證配對密碼。而對於使用https方式來說,每次fetch和push代碼都須要輸入帳號和密碼。

若是你以前已經一直使用https方式進行開發,當前想要切換成爲ssh方式進行開發,只須要執行以下幾步的操做便可:

git remote rm origin 

git remote add origin "Git倉庫的ssh格式地址" git push origin

git 管理代碼的機制

这里写图片描述

名稱 解釋
Workspace 工做區
Index / Stage 暫存區
Repository 倉庫區(或本地倉庫)
Remote 遠程倉庫

步驟: 

 1.在workspace添加git配置文件 

git init複製代碼

 2.添加要上傳的代碼及文件至Index 

git add README.md 複製代碼

3.提交代碼至Repository 

git commit -m "first commit" 複製代碼

4.添加遠程倉庫(Remote)名及路徑 git remote add origin 

git@github.com:username/test.git 複製代碼

5.push,即上傳(Repository)代碼至遠程倉庫保存(Remote)

git push -u origin master
這裏origin爲遠程倉庫名 master爲分支複製代碼

 經常使用命令 1.使用命令 git remote -v 查看你當前的 

remote url

git remote -v 複製代碼

 2.使用命令 git remote set-url 來調整遠程url,能夠爲http方式和SSH方式,

下面爲SSH方式:

git remote set-url origin git@github.com:username/project.git 複製代碼

3.添加當前目錄的全部文件到暫存區 

git add . 
複製代碼

git中的origin

  • 首先假設你本身在github上建立了一個Repository,叫作myRepository,假設你的Github ID是user1,這個時候指向你的代碼庫的連接是
https://github.com/user1/myRepository1複製代碼
  • clone
    若是你在terminal裏輸入
git clone https://github.com/user1/myRepository1複製代碼

這個時候git就在本地拷貝一份託管在github上的代碼庫

  • 進入
cd myRepository1複製代碼
  • 查看
git remote -v1複製代碼

你會看到控制檯輸出

origin https://github.com/user1/myRepository.git (fetch)
origin https://github.com/user1/myRepository.git (push)12複製代碼

也就是說git爲你默認建立了一個指向遠端代碼庫的origin(由於你是從這個地址clone下來的)

總結來說,顧名思義,origin就是一個名字,它是在你clone一個託管在Github上代碼庫時,git爲你默認建立的指向這個遠程代碼庫的標籤, origin指向的是repository,master只是這個repository中默認建立的第一個branch。當你git push的時候由於origin和master都是默認建立的,因此能夠這樣省略,可是這個是bad practice,由於當你換一個branch再git push的時候,有時候就糾結了

假設你在遠端開了一個分支叫dev,再將它clone到本地,本地修改後從新push,利用 git push origin dev,就能夠push到對應的遠端了。
git push origin dev操做的前提是你切換到了當前遠程dev分支。

  • 查看遠程分支
$ git branch -a

* dev
  master
  origin/dev
  remotes/origin/HEAD -> origin/master
  remotes/origin/dev
  remotes/origin/master
123456789複製代碼

能夠看到當前在dev分支下

  • 切換分支
$ git checkout master

Switched to branch 'master'
Your branch is up-to-date with 'origin/master'.
12345複製代碼

這樣就切換去master分支了

相關文章
相關標籤/搜索