如何在本地環境配置github

將你的代碼託管到github

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

安裝 Git

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

當然,首先你需要註冊一個github賬戶。

配置帳號信息

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

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

當然,這是我的賬戶信息,你需要將他們換成你自己的。

創建本地ssh

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

在終端或cmd輸入以下命令行:

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

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

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

將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://[email protected]/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思維導圖

發表評論
所有評論
還沒有人評論,想成為第一個評論的人麼? 請在上方評論欄輸入並且點擊發布.
相關文章