參考:git
http://stormzhang.com/github/2016/05/25/learn-github-from-zero1/github
1. 爲啥要用github算法
作一個項目會產生好多版本,能夠記錄下每一個版本,比較每一個版本之間的差別,出現差錯能夠方便的返回以前的版本。便於多人合做。windows
2. 申請github帳號安全
github官網balabala填寫信息申請一通。ssh
3. 基本概念測試
repository:倉庫,一個項目對應一個倉庫spa
issue:問題,別人發現你的項目中有bug,給你提問題,須要你一個個修復。.net
star:點贊3d
fork:分支,別人fork你的項目後進行修改,不影響原項目。
pull request:fork後但願把改變應用到原項目中,向原項目提出申請。
4.git
git是啥:本地的版本控制庫
git安裝:
Mac:https://sourceforge.net/projects/git-osx-installer/
Windows:https://git-for-windows.github.io/
準備工做:
配置身份
$ git config --global user.name "aaa"
$ git config --global user.email "aaa@163.com"
查看是否配置成功
$ git config --global user.name
$ git config --global user.email
git最基本的命令:
cd… :進入項目存在的目錄
git init:初始化倉庫
git add:添加文件至git倉庫(添加至暫存區,提交必備步驟一)
git commit:(提交必備步驟二)
用法:git commit –m "123"(引號內爲版本名)
*以上是每次必備操做
5. 向github提交代碼
github是啥:遠程倉庫(防止你的電腦廢了,請在遠程端存一份。也便於多人合做。)
準備工做:
i.SSH
在Git Bash 裏輸入 ssh 若是出現如下提示證實你本機已經安裝 SSH(通常默認都安裝了,要是你不幸沒安裝,本身搜解決方法吧…)
輸入 ssh-keygen -t rsa ,指定 rsa 算法生成密鑰,接着連續三個回車鍵(不須要輸入密碼),而後就會生成兩個文件 id_rsa 和 id_rsa.pub ,而 id_rsa 是密鑰,id_rsa.pub 就是公鑰。這兩文件默認分別在以下目錄裏生成:
Linux/Mac 系統 在 ~/.ssh 下,win系統在 /c/Documents and Settings/username/.ssh 下,都是隱藏文件。
ii. GitHub 上添加 SSH key
第一步先在 GitHub 上的設置頁面,點擊最左側 SSH and GPG keys :
而後點擊右上角的 New SSH key 按鈕:
須要作的只是在 Key 那欄把 id_rsa.pub 公鑰文件裏的內容複製粘貼進去就能夠了(上述示例爲了安全粘貼的公鑰是無效的),Title 那欄不須要填寫,點擊 Add SSH key 按鈕就ok了。
這裏提醒下,怎麼查看 id_rsa.pub 文件的內容?
Linux/Mac 用戶執行如下命令:
Windows用戶,設置顯示隱藏文件,可使用 EditPlus 或者 Sublime 打開復制就好了。
SSH key 添加成功以後,輸入 ssh -T git@github.com 進行測試,若是出現如下提示證實添加成功了。
經常使用命令:
git pull origin master:將遠程代碼更新至本地。
git push origin master:將本地代碼推至遠程master分支
*通常爲避免衝突,建議先pull後push
6. 每一個項目的具體操做方法
a) 在本地建立項目(init --> add --> commit)
b) 修改文件內容後(add --> commit)
鏈接github
c) 在github上建立一個repository後,複製
git remote add origin...
git push -u origin master
7. git其餘命令
git status 查看狀態
git log 查看更改狀態(--oneline 在同一行顯示)
git diff 查看add先後的不一樣
git diff --cached 查看commit先後的不一樣
git diff HEAD 查看全部不一樣
git commit (-m 提交;--amend修改現有版本 --no-edit不進行編輯)
git commit -am "name" add+commit(文件需已被添加到倉庫中)
8. 狀態的改變
reset在commit之間穿梭:
git reset --hard HEAD 回到上一個狀態
git reset --hard HEAD~5 回到上5個狀態
git reset --hard 12314512(id號) 回到id號的狀態
git reflog 顯示HEAD的每一步變化
checkout針對文件:
git checkout 234091(id) -- 1.py(文件名) 文件的狀態恢復到id狀態
9. 分支
git branch dev 創建分支dev
git branch 查看全部分支
git checkout dev 轉到dev分支
git branch -d dev 刪除dev分支
git checkout -b dev 創建dev分支,並把指針移到dev上
git merge 將分支合併進來
git merge --no-ff -m "message" 合併分支並顯示信息