如下均針對前端來進行簡單介紹和整理:前端
1、Git介紹git
Git是一個開源的分佈式版本控制系統,能夠有效、高速地處理從很小到很是大的項目版本管理。github
所謂版本控制應實現如下幾點,解決多人協做問題,提升開發效率,實現版本控制windows
能夠理解爲一個工具,能夠和代碼倉庫一塊兒使用。咱們實驗室用的代碼倉庫是coding.bash
建立項目的流程以下:服務器
一、項目經理先建立一個本地庫和遠程庫,此時遠程庫是空的,文件、目錄和歷史記錄都在他的本地庫,將本地內容push到遠程庫。
二、軟件開發人員將遠程庫clone下來,clone操做不只會下載內容,還會建立、初始化令狐沖的本地庫。他在本地修改代碼,在push到遠程庫以前,須要先加入該項目團隊才能夠提交。對於其餘人的修改、更新提交到遠程倉庫,能夠pull到本身的本地庫。ssh
暫存區:臨時存儲,打算要提交還沒提交,從此能夠提交本地也能夠撤回。
本地庫:存儲每個歷史版本。分佈式
3、Git的安裝配置工具
一、下載windows版本的git的地址:https://git-scm.com/download/win ,選擇對應版本進行下載,安裝過程簡單,僅須要點擊next便可。學習
二、安裝後,右鍵選擇git bash,配置用戶我的信息,指令以下:
git config --global user.name 「hxxxe」
git config --global user.email "hxxxehxx@163.com"
這一步的做用的用來區分不一樣的用戶,咱們可使用git config --list指令來查看咱們配置的結果:
3.咱們要使用git克隆coding上的代碼或者上傳本地代碼,因爲許多 Git 服務器都使用 SSH 公鑰進行認證。 爲了向 Git 服務器提供 SSH 公鑰,咱們要生成一份SSH 公鑰。 先確認本身是否已經擁有密鑰,若是沒有就在本地使用git生成一個公鑰,再把這個公鑰添加到coding的SSH公鑰就能夠了。
(1)在git命令窗口輸入指令:cd ~/.ssh 檢查電腦中是否有ssh key存在
若是存在,則會顯示以下,id_dsa
或 id_rsa
命名的文件,其中一個帶有 .pub
擴展名。 .pub
文件是你的公鑰,另外一個則是私鑰。 若是找不到這樣的文件(或者根本沒有 .ssh
目錄):
(2)若是不存在,輸入指定:$ ssh-keygen 來生成公鑰:
首先 ssh-keygen
會確認密鑰的存儲位置(默認是 .ssh/id_rsa
),而後它會要求你輸入兩次密鑰口令。若是你不想在使用密鑰時輸入口令,將其留空便可。最後會生成文件在指定位置。
(3)生成ssh公鑰後複製 .pub
文件內容,添加到coding就會有權限了。 公鑰形式相似以下:
4、git的使用
咱們會使用到的git基本指令有這麼幾句:
一、克隆
clone已有倉庫
git clone git@github.com:XXX/yyyy.git //XXX爲github的用戶名,yyy爲倉庫名
二、提交
git pull //拉取最新代碼
git add mmm.sss //mmm爲文件名稱,sss爲文件拓展名(經常使用git add .)
git commit -m "hhh" //hhh爲git commit 提交信息,是對這個提交的概述
git push //更新GitHub上的倉庫
三、查看提交日誌
git log
四、更改提交的操做
git reset //回溯歷史版本
git reset --hard //回溯到指定狀態,只要提供目標時間點的哈希值
git reset --hrad ddd //ddd爲要推動歷史的哈希值
咱們不經常使用的git指令
一、用git建立倉庫
mkdir nnn //倉庫名
cd hhh
git init //初始化倉庫
git status //查看倉庫狀態
touch README.md //建立READEME.md文件
git add ERADME.md //添加ERADME.md至暫存區
git commit -m "hhh" //若是想要提交信息記錄的更詳細,請不要加 -m
git log --pretty=short //加--pretty=short 只顯示提交信息的第一行
git log ggg //ggg是指指定的文件或目錄,用於查看指定的目錄、文件的日誌
git log -p //查看提交所帶來的改動
git log -p ggg //查看指定文件的改動
git diff //能夠查看工做樹,暫存區,最新提交之間的差異
git diff HEAD //查看工做樹與最新提交的差異
二、分支操做
git branch //顯示分支一覽表,同時確認當前所在的分支
git checkout -b aaa //建立名爲aaa的分支,而且切換到aaa分支
(git branch aaa //建立名爲aaa的分支
git checkout aaa // 切換到aaa分支
)能和git branch -b aaa 獲得一樣的效果
git checkout - //切換到上一分支
三、合併分支
git checkout master //切換到master分支
git merge --no--ff aaa // 加--no--ff 參數能夠在歷史記錄中明確地記錄本次分支的合併
git log --graph //以圖表形式查看分支
四、推動歷史
git reflog //查看倉庫的操做日誌,找到要推歷史的哈希值
git checkout master
五、修改提交信息 git commit --amend
壓縮歷史 git rebase -i 錯字漏字等失誤稱做typo
根據之前的步驟在GitHub上建立倉庫,應於本地的倉庫名相同 GitHub上面建立的倉庫的路徑爲git@github.com: 用戶名/倉庫名.git
git remote add eee git@github.com: 用戶名/倉庫名.git //添加遠程倉庫,並將git@github.com: 用戶名/倉庫名.git遠程倉庫的名稱改成eee
git push -u eee master //推送至遠程倉庫 master分支下 -u 參數能夠在推送的同時,將eee倉庫的master分支設置爲本地倉庫的當前分支的的upstream(上游)。添加這個參數,未來運行git pull命令從遠程倉庫獲取內容時,本地倉庫的這個分支就能夠直接從eee的master分支中獲取內容
git checkout -b feature d eee/feature d //獲取遠程的feature d分支到本地倉庫,-b參數後面是本地倉庫中新建的倉庫的名稱
git pull eee feature d //將本地的feature d分支更新爲最新狀態
在GitHub上面查看兩個分支之間的差異,只須要在地址欄中輸入http://github.com/用戶名/倉庫名/分支1...分支2
六、查看master分支在最近七天內的差異
http://github.com/用戶名/倉庫名/master@{7.day.ago}...master (一樣,day,week,month,year都是能夠噠)
七、查看與指定日期之間的差異
http://github.com/用戶名/倉庫名/master@{xxxx-xx-xx}...master (xxxx-xx-xx表明年月日)
到這裏,git相關的命令不少,你們能夠根據操做時的須要去具體學習。