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類似,註冊賬號.
2,建立遠端專案,github類似,新建空的專案.
3,公鑰認證管理
開發者向碼雲版本庫寫入最常用到的協議是 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?
-
點選右上角的標誌,進入個人中心,然後點選左側的ssh公鑰後在下圖位置填寫你的ssh公鑰。
-
點選確定,然後驗證密碼(即你的註冊賬號密碼)就完成了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就可以了!