Git 基礎操做、以及流程步驟

版本控制

說到版本控制,腦海裏總會浮現大學畢業是寫畢業論文的場景,你電腦上的畢業論文必定出現過這番景象!html

1
2
3
4
5
6
7
8
9
10
11
畢業論文_初稿.doc
畢業論文_修改 1.doc
畢業論文_修改 2.doc
畢業論文_修改 3.doc
畢業論文_完整版 1.doc
畢業論文_完整版 2.doc
畢業論文_完整版 3.doc
畢業論文_最終版 1.doc
畢業論文_最終版 2.doc
畢業論文_死也不改版.doc
...

以上就是使用最原始的方式進行版本控制,可是這種方式有顯著缺點:python

  • 多個文件,保留全部版本時,須要爲每一個版本保存一個文件...
  • 協同操做,多人協同操做時,須要將文件打包發來發去...
  • 容易丟失,被刪除意味着永遠失去...(能夠選擇網盤)

爲了解決以上版本控制存在問題,應運而生了一批版本控制工具:VSS、CVS、SVN、Git等,其中Git屬於絕對霸主地位。git

注意:通常版本控制工具包含兩部分github

  • 客戶端(本地):本地編寫內容以及版本記錄
  • 服務端(網盤):將內容和版本記錄同時保存在遠程(無關緊要)

GIT介紹  

Git 是一個開源的分佈式版本控制軟件,用以有效、高速的處理從很小到很是大的項目版本管理。 Git 最初是由Linus Torvalds設計開發的,用於管理Linux內核開發。Git 是根據GNU通用公共許可證版本2的條款分發的自由/免費軟件,安裝參見:http://git-scm.com/服務器

GitHub是一個基於Git的遠程文件託管平臺(同GitCafe、BitBucket和GitLab等)。app

Git自己徹底能夠作到版本控制,但其全部內容以及版本記錄只能保存在本機,若是想要將文件內容以及版本記錄同時保存在遠程,則須要結合GitHub來使用。使用場景:分佈式

  • 無GitHub:在本地 .git 文件夾內維護歷時文件
  • 有GitHub:在本地 .git 文件夾內維護歷時文件,同時也將歷時文件託管在遠程倉庫

其餘:工具

    集中式:遠程服務器保存全部版本,用戶客戶端有某個版本
    分佈式:遠程服務器保存全部版本,用戶客戶端有全部版本網站

Git使用
- 什麼是GIT,eg:以下

- 張開的故事:資源共享網站
- 小弟弟系列
- 小芳系列spa

初始化操做(命令在下面):

  初始化後,會在當前目錄自動建立 .git 文件夾,該文件是Git中最重要的文件夾,由於Git相關文件以及版本都將保存在該文件夾中,有了它,不再用擔憂我好多文件來記錄版本了,經過Git命令能夠將全部版本保存在 .git 文件中。

 

目前已使用Git的四個命令,這四個命令已經能夠代替本地多個文件保存版本的方式:

- 第一個版本:進入程序目錄:
git init   初始化,表示即將對當前文件夾進行版本控制。(新建的版本第一次要初始化操做)
git add .   當前目錄中全部文件添加到【某個地方】
git commit -m '描述信息'	  初版本git已經生成,這個描述信息中能夠寫第一次版本,第二次版本等等
git status	查看當前狀態,如有內容修改的,會提示紅字(查看Git當前狀態,如:那些文件被修改過、那些文件還未提交到版本庫等。)
git log    查看提交記錄,即:歷史版本記錄

- 新功能: 李浩專區

開發到了一半,緊急修復線上BUG

git stash----->>下面三行是步驟
			
	解決bug
	git add .
	git commit -m '修復bug完畢'

git stash pop 
	可能出現衝突,出現以後不要着急,手動解決衝突
eg:衝突警告
	Auto-merging templates/index.html
	CONFLICT (content): Merge conflict in templates/index.html

開發功能完畢

git add . 
git commit -m '解決衝突後,繼續開發後續功能'

PS:

  這些編號的,都是輸入這個命令以後,後面加編號名稱,記得有空格

git stash           將當前工做區全部修改過的內容存儲到「某個地方」,將工做區還原到當前版本未修改過的狀態(白話:目前位置,共寫了5個版本,如今正在寫5版本中的東西,輸入這個命令,那麼正在寫的代碼會暫時保存到其餘地方,此時會迴歸到5版本從未作過任何修改的狀態,注意:也能夠這麼說,能夠用這個把工做區域弄成乾淨的狀態,因暫時保存到其餘地方,就至關於這樣了)
git stash pop       將第一個記錄從「某個地方」從新拿到工做區(可能有衝突);(白話:跟上面的git stash聯合起來看,就是修改了5版本的問題以後,會和5版本所寫的新內容進行合併,合併的時候有可能衝突,這個時候就須要手動來解決衝突)
git stash list      查看「某個地方」存儲的全部記錄(查詢到的是帶編號的)
git stash clear     清空「某個地方」
git stash apply     編號, 將指定編號記錄從「某個地方」從新拿到工做區(可能有衝突) ----->>後面跟編號,表示把這個編號的版本從新拿到工做區;跟pop的區別是,pop是拿到的第一個,也就是正在編輯的這個。
git stash drop      編號,刪除指定編號的記錄      PS:注意用pop和apply的區別

git reflog----->>查看都有那些版本標識

git reset --hard ‘後面跟版本標識‘  表示:回到某個版本

git stash list 是裏面存放的全部東西

這個apply後面跟編號,指的是獲取到某個編號的,而pop之的是第一個

 

 PS:add後面跟文件名錶示:只是把這個文件名增長到暫存區;而小數點表示:當前全部的文件都增長到暫存區

下面一幅圖完美詮釋以上操做:

  便可更新狀態,也可回滾。

工做區:當前開發程序所在目錄稱爲工做區,即:工做開發都是在該目錄,該區域的文件會有狀態的變化且狀態由git自動檢測,若是程序中文件作任何操做(增、刪、改),文件狀態均會被檢測到,可使用 【git status】命令查看。

版本庫:工做區檢測到有文件發生變化,那麼意味着較上一個版本以後對程序進行了修改,修改完成以後,能夠當作下一版本進行提交,那麼就是執行 【git add .】 將全部文件提交到暫存區,而後再執行【git commit -m '又一個版本'】提交到版本庫的分支便可,以後可使用【git log】命令查看版本記錄。

 ———————————————————————

http://www.cnblogs.com/haiyan123/p/7989167.html  可參考博客

總結開發流程步驟:

項目背景:這個創業者想開發一個資源共享的系統

階段一:順利上線代碼

首先在你建立的項目的文件夾裏面右鍵--->點擊Gir Bash Here---->把git運行起來。

一、初始化:git  init

二、若是你第一次使用git的時候,須要配置一下。若是你已經配置了,之後就不用配置了>>>以下:
  git config --local user.name  'xxx'
  git config --local user.email  'xxx@example.com'

  注意:執行git commit 命令時,可能會提示進行用戶和郵箱的配置,該配置用於記錄當前版本由那個用戶提交

三、把當前的目錄以及及全部的子文件添加到git:

  git add .    #全部的文件

  git templates/index.html   #具體添加的文件

四、真實的把數據提交上線,設置版本:git commit -m "描述信息"     注意:這個描述信息必定好好寫

五、查看狀態,看那個是否被修改過:git status

  必定記得先add,後commit,add以後是沒有放到版本里的,只有commit的時候纔有版本

六、查看有幾個版本:查看版本提交記錄   :git log  

七、回滾到上一個版本:git   reset --hard   版本號

八、再跳回去(查看日後的版本號):git reflog 

———————————————————————

最後須要往GitHub上進行push推送的時候  會提示輸入用戶名和密碼的,而後輸入本身的github註冊的用戶名,和本身郵箱密碼便可。

———————————————————————

ps:

紅色》》  未管理的狀態  git status
綠色》》  已經歸我管理的狀態  git add.
白色》》  已經移走的狀態    git commit -m "描述信息"

———————————————————————

PS:

  git經常使用命令速查表

 

 詳細參考:http://www.cnblogs.com/wupeiqi/p/7295372.html

 

附屬一張大神畫的流程圖:

相關文章
相關標籤/搜索