如何在本地環境配置github

將你的代碼託管到github

github是程序猿的代碼託管平臺,也是基於git的開源分佈式版本控制系統。然而,當你登錄github官網時,它並無爲你準備一個很好的代碼上傳的系統,這是由於它是基於git的分佈式版本管理系。那麼,如何更快更有效的將本地代碼上傳到github呢?首先,咱們須要在本地安裝git,這樣才能在本地環境中使用git命令行,(例如:$ git add index.html)其次是要鏈接到你的github帳戶上,這樣才能把你的代碼文件上傳上去,而每一次的更改都會造成一個版本記錄,這樣對團隊協做是頗有幫助的。html

安裝 Git

這裏主要講的是mac系統,windows也是同樣的,只不過mac是在終端下進行,而windows是在cmd下進行的。安裝git,這裏推薦安裝Apple公司的XcodeXcode集成了Git,最新版的Xcode已經默認安裝好了git。完成安裝以後,就可使用 git 的命令行工具。git

固然,首先你須要註冊一個github帳戶。github

配置賬號信息

cmd或者終端下輸入如下命令行:shell

git config --global user.name trigkit4
git config --global user.email 345823102@qq.com

固然,這是個人帳戶信息,你須要將他們換成你本身的。windows

建立本地ssh

這是一種傳輸代碼的方法,速度快又安全。SSH 是目前較可靠,專爲遠程登陸會話和其餘網絡服務提供安全性的協議。安全

在終端或cmd輸入如下命令行:網絡

ssh-keygen -t rsa -C "345823102@qq.com"

固然,郵箱依然換成你註冊github時所用的郵箱。以下圖所示:app

圖片描述

路徑選擇 : 使用該命令以後, 會出現提示選擇ssh-key生成路徑, 這裏直接點回車默認便可, 生成的ssh-key在默認路徑中;
密碼確認 : 這裏咱們不使用密碼進行登陸, 用密碼太麻煩;就一路回車下去ssh

將ssh配置到GitHub中

mac os X 下前往文件夾,/Users/本身電腦用戶名/.ssh分佈式

windows應該是(C:\Documents and Settings\Administrator\.ssh (或者 C:\Users\本身電腦用戶名\.ssh)中)。

而後用記事本打開id_rsa.pub,將裏面的所有代碼複製到githubSSH中。

id_rsa.pub 文件內容 :

ssh-rsa AAAAB3NzaC1yc2EAAAADAQABAAABAQDS0qLtpontavr43AQntX4oBOsg2R3QlWubMYvfgJsIDX6NWd5RaIDLBLEMwIFLDcpvpQKvk5S/bTy4vTuWqeY6fkQ/tZBKksQn1WuYDcSfjLF8BuPMfdkboTh9NaKESKnsiWdranEVbmB5vOAHm8T+HFGdzG7Tz4ygzCnTwvdpBYrd/4jgeazws2d7CuMeuyb+FxdDTQy9YmJJm+82ypfR//bLyzRJo3SYadnPO3VdOAZCO1Isky+p/0nNN/obC4t2y2+oHBAqJV9h37f9S8UShgDmZoVLicRi4poni0i70xj+t/hnOsT8fmEc+vM9USyN+ndawz2oWjikKgln1jOB 345823102@qq.com

登錄github網站,點擊Settings——SSH keys——點擊右側的Add SSH key ,接下去你懂得。

圖片描述

驗證是否配置成功 :
複製以下代碼:

ssh -T git@github.com

而後出現以下信息:

Warning: Permanently added the RSA host key for IP address '192.30.252.131' to the list of known hosts.

Hi hawx1993! You've successfully authenticated, but GitHub does not provide shell access.

驗證時可能讓你輸入YES,當出現以上信息時,說明配置成功,能夠鏈接上GitHub;

建立版本庫

第一步,在本地建立一個版本庫,代碼以下:

$ mkdir test   #test是你的文件夾的名字
$ cd test     #進入test所在目錄
$ pwd        #pwd命令用於顯示當前目錄    
/Users/trigkit4/test #這是在個人Mac上的目錄

第二步,經過git init命令把這個目錄變成Git能夠管理的倉庫:

$ git init

而後會輸出如下信息:

Initialized empty Git repository in /Users/trigkit4/banner/.git/

這裏的.git目錄是Git用來跟蹤管理版本庫的,默認是隱藏的。

第三部,接着,在github上建立一個你本身的new repository,而後下一步,

mkdir test  
cd test   
git init    
# initialize your git repository  
touch README  
# create a file named README  
git add README    
# add README to cache  
git commit -m 'first commit'  
# commit your files to local repository

而後咱們將本地的文件傳送至github中,使用以下命令:

git remote add origin https://github.com/yourname/test.git  
git push -u origin master

從現有倉庫克隆

git clone git://github.com/yourname/test.git
git clone git://github.com/yourname/grit.git mypro#克隆到自定義文件夾

本地

git add *#跟蹤新文件

rm *&git rm *#移除文件
git rm -f *#移除文件
git rm --cached *#取消跟蹤
git mv file_from file_to#重命名跟蹤文件

git log#查看提交記錄

git commit#提交更新
git commit -m 'message'
git commit -a#跳過使用暫存區域,把全部已經跟蹤過的文件暫存起來一併提交
git commit --amend#修改最後一次提交

git reset HEAD *#取消已經暫存的文件

git checkout -- file#取消對文件的修改(從暫存區去除file)
git checkout branch|tag|commit -- file_name#從倉庫取出file覆蓋當前分支
git checkout -- .#從暫存區去除文件覆蓋工做區

分支

git branch#列出本地分支
git branch -r#列出遠端分支
git branch -a#列出全部分支
git branch -v#查看各個分支最後一個提交對象的信息
git branch --merge#查看已經合併到當前分支的分支
git branch --no-merge#查看爲合併到當前分支的分支

git branch test#新建test分支
git checkout test#切換到test分支
git checkout -b test#新建+切換到test分支
git checkout -b test dev#基於dev新建test分支,並切換

git branch -d test#刪除test分支
git branch -D test#強制刪除test分支

git merge test#將test分支合併到當前分支
git rebase master#將master分之上超前的提交,變基到當前分支

常見錯誤

第一個:

error: src refspec master does not match any.
error: failed to push some refs to 'https://github.com/yourname/test.git'

輸入以下代碼:

$ cd myproject
$ git init
$ git add .
$ git commit -m 'initial commit'
$ git push origin master

第二個:

git push -u origin master fatal: unable to access 'https://github.com/ZeyuChen/TPlus.git/': SSLRead() return error -9806

這種錯誤就是https掛了,解決方案就是在project目錄裏面的.git/config文件裏面,修改repourl鏈接,從https修改成git協議就能夠了。

原本是url = https://github.com/ZeyuChen/TPlus.git

修改成

[remote "origin"]
    url = ssh://git@github.com/ZeyuChen/TPlus.git
    fetch = +refs/heads/*:refs/remotes/origin/*

再次push就ok了。

Git 命令詳解

如今咱們有了本地和遠程的版本庫,讓咱們來試着用用Git的基本命令:

git pull:從其餘的版本庫(既能夠是遠程的也能夠是本地的)將代碼更新到本地,例如:'git pull origin master'就是將origin這個版本庫的代碼更新到本地的master主枝,該功能相似於SVN的update

git add:是 將當前更改或者新增的文件加入到Git的索引中,加入到Git的索引中就表示記入了版本歷史中,這也是提交以前所須要執行的一步,例如'git add app/model/user.rb'就會增長app/model/user.rb文件到Git的索引中,該功能相似於SVN的add

git rm:從當前的工做空間中和索引中刪除文件,例如'git rm app/model/user.rb',該功能相似於SVN的rm、del

git commit:提交當前工做空間的修改內容,相似於SVN的commit命令,例如'git commit -m story #3, add user model',提交的時候必須用-m來輸入一條提交信息,該功能相似於SVN的commit

git push:將本地commit的代碼更新到遠程版本庫中,例如'git push origin'就會將本地的代碼更新到名爲orgin的遠程版本庫中

git log:查看歷史日誌,該功能相似於SVN的log

git revert:還原一個版本的修改,必須提供一個具體的Git版本號,例如'git revert bbaf6fb5060b4875b18ff9ff637ce118256d6f20',Git的版本號都是生成的一個哈希值

圖片描述

git思惟導圖

圖片描述

圖片描述

相關文章
相關標籤/搜索