GitHub 远程仓库 de 第一次配置
GitHub遠(yuǎn)程倉庫, Git是分布式版本控制系統(tǒng),同一個Git倉庫,可以分布到不同的機(jī)器上。首先找一臺電腦充當(dāng)服務(wù)器的角色,
每天24小時開機(jī),其他每個人都從這個“服務(wù)器”倉庫克隆一份到自己的電腦上,并且各自把各自的提交推送到服務(wù)器倉庫里,也從服務(wù)器倉庫中拉取別人的提交。
可以自己搭建這臺服務(wù)器,也可以使用代碼托管網(wǎng)站如GiuHub,碼云.
Git 安裝配置
在使用Git前我們需要先安裝 Git。Git 目前支持 Linux/Unix、Solaris、Mac和 Windows 平臺上運(yùn)行。
Git 各平臺安裝包下載地址為:http://git-scm.com/downloads
Git 簡易指南:http://www.bootcss.com/p/git-guide/
Pro Git 中文版(第二版)讓你從 Git 初學(xué)者成為 Git 專家:https://progit.bootcss.com/
Ubuntu
$ apt-get install git-core$ git --version git version 1.8.1.2Git 配置
Git 提供了一個叫做 git config 的工具,專門用來配置或讀取相應(yīng)的工作環(huán)境變量。
這些環(huán)境變量,決定了 Git 在各個環(huán)節(jié)的具體工作方式和行為。這些變量可以存放在以下三個不同的地方:
- /etc/gitconfig文件:系統(tǒng)中對所有用戶都普遍適用的配置。若使用git config時用--system選項,讀寫的就是這個文件。
- ~/.gitconfig文件:用戶目錄下的配置文件只適用于該用戶。若使用git config時用--global選項,讀寫的就是這個文件。
- 當(dāng)前項目的 Git 目錄中的配置文件(也就是工作目錄中的.git/config文件):這里的配置僅僅針對當(dāng)前項目有效。
- 每一個級別的配置都會覆蓋上層的相同配置,所以.git/config里的配置會覆蓋/etc/gitconfig中的同名變量。
用戶信息
配置個人的用戶名稱和電子郵件地址:
$ git config --global user.name "yichuan" $ git config --global user.email yichuan@itxdl.cn如果用了--global選項,那么更改的配置文件就是位于你用戶主目錄下的那個,以后你所有的項目都會默認(rèn)使用這里配置的用戶信息。
如果要在某個特定的項目中使用其他名字或者電郵,只要去掉 --global 選項重新配置即可,新的設(shè)定保存在當(dāng)前項目的 .git/config 文件里。
查看配置信息
要檢查已有的配置信息,可以使用 git config --list 命令:
$ git config --list http.postbuffer=2M user.name=yichuan user.email=yichuan@itxdl.cn有時候會看到重復(fù)的變量名,那就說明它們來自不同的配置文件(比如 /etc/gitconfig 和 ~/.gitconfig),不過最終 Git 實際采用的是最后一個。
這些配置我們也可以在~/.gitconfig或/etc/gitconfig看到,如下所示:
vim ~/.gitconfig顯示內(nèi)容如下所示:
[http]postBuffer = 2M [user]name = yichuanemail = yichuan@itxdl.cn也可以直接查閱某個環(huán)境變量的設(shè)定,只要把特定的名字跟在后面即可,像這樣:
$ git config user.name yichuan1,創(chuàng)建碼云賬號,github類似,注冊賬號.
參考文檔:?http://git.mydoc.io/?t=179267
2,創(chuàng)建遠(yuǎn)程項目,github類似,新建空的項目.
參考文檔:?http://git.mydoc.io/?t=180676
3,公鑰認(rèn)證管理
參考文檔:?http://git.mydoc.io/?t=180845
開發(fā)者向碼云版本庫寫入最常用到的協(xié)議是 SSH 協(xié)議,因為 SSH 協(xié)議使用公鑰認(rèn)證,可以實現(xiàn)無口令訪問,
而若使用 HTTPS 協(xié)議每次身份認(rèn)證時都需要提供口令。使用 SSH 公鑰認(rèn)證,就涉及到公鑰的管理。
1.如何生成ssh公鑰
你可以按如下命令來生成sshkey:(這個郵箱是您注冊github的郵箱地址)
ssh-keygen -t rsa -C "xxxxx@xxxxx.com" # Generating public/private rsa key pair... # 三次回車即可生成 ssh key查看你的 public key,并把他添加到碼云(Gitee.com) SSH key添加地址
cat ~/.ssh/id_rsa.pub # ssh-rsa AAAAB3NzaC1yc2EAAAADAQABAAABAQC6eNtGpNGwstc....添加后,在終端(Terminal)中輸入(GitHub就輸入 git@github.com)
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?
點(diǎn)擊右上角的標(biāo)志,進(jìn)入個人中心,然后點(diǎn)擊左側(cè)的ssh公鑰后在下圖位置填寫你的ssh公鑰。
點(diǎn)擊確定,然后驗證密碼(即你的注冊賬號密碼)就完成了ssh公鑰添加。
3.項目的 ssh key 和用戶的 ssh key 兩處地方有什么不同?
項目的 ssh key 只針對項目,且我們僅對項目提供了部署公鑰,即項目下的公鑰僅能拉取項目,這通常用于生產(chǎn)服務(wù)器拉取倉庫的代碼。 而用戶的 key 則是針對用戶的,用戶添加了 key 就對用戶名下的項目和用戶參加了的項目具有權(quán)限,一般而言,用戶的 key 具有推送和拉取的權(quán)限,而項目的 key 則只具有拉取權(quán)限
GitHub下添加SSH Key------>? 進(jìn)入github賬號,在settings下,選SSH and GPG keys, 點(diǎn)擊new SSH key
?點(diǎn)擊new SSH key后,在title欄里自定義名字(注冊郵箱),然后將上一步復(fù)制的密鑰(以ssh-rsa 開頭,以github賬號的注冊郵箱結(jié)尾的)粘貼到此處。
?然后點(diǎn)擊Add SSH Key.
?
4,從遠(yuǎn)程庫克隆(項目地址是github上項目的ssh地址.)
git clone <項目地址> 例如: git clone git@gitee.com:yichuan/pyweb.git5,與遠(yuǎn)程庫交互
從遠(yuǎn)程庫獲取到本地
git pull origin master將本地提交遠(yuǎn)程庫
git push origin master提示:如果是多人協(xié)同開發(fā)每次提交前,需要先獲取,解決沖突后再次提交
GitHub的操作:
基本概念
工作區(qū):就是你在電腦里能看到的目錄。
暫存區(qū):英文叫stage, 或index。一般存放在 ".git目錄下" 下的index文件(.git/index)中,所以我們把暫存區(qū)有時也叫作索引(index)。
版本庫:工作區(qū)有一個隱藏目錄.git,這個不算工作區(qū),而是Git的版本庫。
基本使用
簡單快捷操作步驟:
git使用? ? ?1.下載git? ? ? 2.配置
$ git config --global user.name "yichuan"
$ git config --global user.email yichuan@itxdl.cn
3.創(chuàng)建碼云的遠(yuǎn)程倉庫? ? ? ?4.生成公鑰 病添加到碼云
5.下載項目
ssh
git clone 地址
6.修改? ? ? 7.提交
1.將修改內(nèi)容提交至?xí)捍鎱^(qū)
git add .
2.提交到本地倉庫
git commit -m '修改說明'
3.提交到遠(yuǎn)程
git push
在本地項目中完成開發(fā)后先add提交至本地暫存區(qū)
git add 文件1 文件2 ... git add 目錄 git add .在本地暫存區(qū)commit提交至本地倉庫
git commit -m '本次提交的說明信息'把當(dāng)前項目推送至push遠(yuǎn)程倉庫進(jìn)行更新
git push origin master查看暫存區(qū)的狀態(tài)
git status + git push (不用上一步)查看倉庫區(qū)的歷史
當(dāng)前版本的歷史版本:git log 簡版顯示:git log --pretty=oneline 歷史命令:git reflog對比工作區(qū)和倉庫區(qū)中某版本某文件的不同
git diff HEAD -- 文件名回退歷史版本到暫存區(qū)
git reset HEAD^或版本號?(后續(xù)github還有好多內(nèi)容)
Git學(xué)習(xí)系列 -- Not a git repository錯誤解決方法
fatal: Not a git repository (or any of the parent directories): .git
提示說沒有.git這樣一個目錄。
解決辦法如下:運(yùn)行g(shù)it init就可以了!
git添加公鑰后報錯sign_and_send_pubkey: signing failed: agent refused operation的解決辦法
在服務(wù)器添加完公鑰后報錯
sign_and_send_pubkey: signing failed: agent refused operation
這個時候我們只要執(zhí)行下
eval?"$(ssh-agent -s)" ssh-add 就可以了. (github克隆到本地linux, 有些項目有權(quán)限問題,只有sudo su 進(jìn)入到root 權(quán)限才可以操作文件.) (方法是刪除秘鑰,重新配置用戶密碼和生成新的秘鑰,在普通用戶下操作,如報上面的錯誤,解決即可.)轉(zhuǎn)載于:https://www.cnblogs.com/String-Lee/p/9959612.html
總結(jié)
以上是生活随笔為你收集整理的GitHub 远程仓库 de 第一次配置的全部內(nèi)容,希望文章能夠幫你解決所遇到的問題。
- 上一篇: P2P平台遇到经营危险的时候,会出现哪些
- 下一篇: mongo中的游标与数据一致性的取舍