1. 程式人生 > >GitHub 遠端倉庫 de 第一次配置

GitHub 遠端倉庫 de 第一次配置

GitHub遠端倉庫, Git是分散式版本控制系統,同一個Git倉庫,可以分佈到不同的機器上。首先找一臺電腦充當伺服器的角色,

每天24小時開機,其他每個人都從這個“伺服器”倉庫克隆一份到自己的電腦上,並且各自把各自的提交推送到伺服器倉庫裡,也從伺服器倉庫中拉取別人的提交。

可以自己搭建這臺伺服器,也可以使用程式碼託管網站如GiuHub,碼雲.

Git 安裝配置

在使用Git前我們需要先安裝 Git。Git 目前支援 Linux/Unix、Solaris、Mac和 Windows 平臺上執行。

Git 各平臺安裝包下載地址為:http://git-scm.com/downloads

Git 簡易指南:

http://www.bootcss.com/p/git-guide/

Pro Git 中文版(第二版)讓你從 Git 初學者成為 Git 專家:https://progit.bootcss.com/

Ubuntu

$ apt-get install git-core

$ git --version
git version 1.8.1.2

Git 配置

Git 提供了一個叫做 git config 的工具,專門用來配置或讀取相應的工作環境變數。

這些環境變數,決定了 Git 在各個環節的具體工作方式和行為。這些變數可以存放在以下三個不同的地方:

  • /etc/gitconfig檔案:系統中對所有使用者都普遍適用的配置。若使用git config
    時用--system選項,讀寫的就是這個檔案。
  • ~/.gitconfig檔案:使用者目錄下的配置檔案只適用於該使用者。若使用git config時用--global選項,讀寫的就是這個檔案。
  • 當前專案的 Git 目錄中的配置檔案(也就是工作目錄中的.git/config檔案):這裡的配置僅僅針對當前專案有效。
  • 每一個級別的配置都會覆蓋上層的相同配置,所以.git/config裡的配置會覆蓋/etc/gitconfig中的同名變數。

使用者資訊

配置個人的使用者名稱稱和電子郵件地址:

$ git config --global user.name "yichuan"
$ git config --global user.email 
[email protected]

如果用了--global選項,那麼更改的配置檔案就是位於你使用者主目錄下的那個,以後你所有的專案都會預設使用這裡配置的使用者資訊。

如果要在某個特定的專案中使用其他名字或者電郵,只要去掉 --global 選項重新配置即可,新的設定儲存在當前專案的 .git/config 檔案裡。

檢視配置資訊

要檢查已有的配置資訊,可以使用 git config --list 命令:

$ git config --list
http.postbuffer=2M
user.name=yichuan
[email protected]

有時候會看到重複的變數名,那就說明它們來自不同的配置檔案(比如 /etc/gitconfig 和 ~/.gitconfig),不過最終 Git 實際採用的是最後一個。

這些配置我們也可以在~/.gitconfig或/etc/gitconfig看到,如下所示:

vim ~/.gitconfig

顯示內容如下所示:

[http]
    postBuffer = 2M
[user]
    name = yichuan
    email = [email protected]

也可以直接查閱某個環境變數的設定,只要把特定的名字跟在後面即可,像這樣:

$ git config user.name
yichuan

1,建立碼雲賬號,github類似,註冊賬號.

參考文件: http://git.mydoc.io/?t=179267

2,建立遠端專案,github類似,新建空的專案.

參考文件: http://git.mydoc.io/?t=180676

3,公鑰認證管理

參考文件: http://git.mydoc.io/?t=180845

開發者向碼雲版本庫寫入最常用到的協議是 SSH 協議,因為 SSH 協議使用公鑰認證,可以實現無口令訪問,

而若使用 HTTPS 協議每次身份認證時都需要提供口令。使用 SSH 公鑰認證,就涉及到公鑰的管理。

1.如何生成ssh公鑰


你可以按如下命令來生成sshkey:(這個郵箱是您註冊github的郵箱地址)

ssh-keygen -t rsa -C "[email protected]"   

# Generating public/private rsa key pair...
# 三次回車即可生成 ssh key

檢視你的 public key,並把他新增到碼雲(Gitee.com) SSH key新增地址

cat ~/.ssh/id_rsa.pub
# ssh-rsa AAAAB3NzaC1yc2EAAAADAQABAAABAQC6eNtGpNGwstc....

新增後,在終端(Terminal)中輸入(GitHub就輸入 [email protected])

ssh -T git@gitee.com

若返回 Welcome to Gitee.com, yourname!則證明新增成功。

GitHub會提示------>   Hi ---! You've successfully authenticated, but GitHub does not provide shell access.

2.怎麼新增使用者ssh key?


  1. 點選右上角的輸入圖片說明標誌,進入個人中心,然後點選左側的ssh公鑰後在下圖位置填寫你的ssh公鑰。

  2. 點選確定,然後驗證密碼(即你的註冊賬號密碼)就完成了ssh公鑰新增。

輸入圖片說明

3.專案的 ssh key 和使用者的 ssh key 兩處地方有什麼不同?


專案的 ssh key 只針對專案,且我們僅對專案提供了部署公鑰,即專案下的公鑰僅能拉取專案,這通常用於生產伺服器拉取倉庫的程式碼。 而使用者的 key 則是針對使用者的,使用者添加了 key 就對使用者名稱下的專案和使用者參加了的專案具有許可權,一般而言,使用者的 key 具有推送和拉取的許可權,而專案的 key 則只具有拉取許可權

GitHub下新增SSH Key------>  進入github賬號,在settings下,選SSH and GPG keys, 點選new SSH key

 點選new SSH key後,在title欄裡自定義名字(註冊郵箱),然後將上一步複製的金鑰(以ssh-rsa 開頭,以github賬號的註冊郵箱結尾的)貼上到此處。

 然後點選Add SSH Key.

 

4,從遠端庫克隆(專案地址是github上專案的ssh地址.)

git clone <專案地址>

例如:
git clone [email protected]:yichuan/pyweb.git

5,與遠端庫互動

從遠端庫獲取到本地

git pull origin master

將本地提交遠端庫

git push origin master

提示:如果是多人協同開發每次提交前,需要先獲取,解決衝突後再次提交

GitHub的操作:

基本概念

工作區:就是你在電腦裡能看到的目錄。

暫存區:英文叫stage, 或index。一般存放在 ".git目錄下" 下的index檔案(.git/index)中,所以我們把暫存區有時也叫作索引(index)。

版本庫:工作區有一個隱藏目錄.git,這個不算工作區,而是Git的版本庫。

基本使用

在本地專案中完成開發後先add提交至本地暫存區

git add 檔案1 檔案2 ...
git add 目錄
git add .

在本地暫存區commit提交至本地倉庫

git commit -m '本次提交的說明資訊'

把當前專案推送至push遠端倉庫進行更新

git push origin master

檢視暫存區的狀態

git status

檢視倉庫區的歷史

當前版本的歷史版本:git log
簡版顯示:git log --pretty=oneline
歷史命令:git reflog

對比工作區和倉庫區中某版本某檔案的不同

git diff HEAD -- 檔名

回退歷史版本到暫存區

git reset HEAD^或版本號

 (後續github還有好多內容)

Git學習系列 -- Not a git repository錯誤解決方法

fatal: Not a git repository (or any of the parent directories): .git

提示說沒有.git這樣一個目錄。

解決辦法如下:執行git init就可以了!