1. 程式人生 > 其它 >git基礎命令

git基礎命令

技術標籤:git命令git

git全流程

伺服器:Ubuntu

使用git前準備工作:

  下載git之前先更新:  apt-get update

  安裝git:   apt-get install git

  建立本地倉庫:  mkdir test

  git初始化:     cd test  git init  

  生成公鑰和私鑰:  ssh-keyge

  將公鑰新增到github裡。

git的使用

分支操作: 

    克隆倉庫:git clone   

    建立本地分支:git branch 分支名

    建立本地分支並切換到分支:git checkout -
b 分支名     根據遠端倉庫建立本地分支:git branch 分支名 origin/遠端分支名     切換分支:git checkout 分支名     檢視所有分支:git branch     刪除分支:git branch -D 分支名     拉取遠端分支程式碼:git pull     在當前分支合併XX分支:git merge 分支名     將本地分支推送到遠端:git push origin 遠端分支名   版本管理:      檢視狀態:git status      新增到暫存區:git add 檔案/資料夾      放棄修改操作:git checkout -
-檔名      新增到本地分支:git commit "備註資訊"     檢視歷史版本:git log (想看簡潔版的帶上引數,--pretty=online)     回退歷史版本:git reset 版本號     檢視歷史操作:git reflog     檢視檔案的修改:git diff 檔名     刪除檔案:git rm 檔名 git運用場景   場景一:     當你正在寫程式碼的時候突然線上伺服器出現了個bug,這時候你不得不趕快處理線上的bug。一般我們會將正在寫的程式碼,git add, git commit 一下,再切換到bug分支解決bug。解決完成以後git commit bug分支的程式碼。在切換回來。除了這樣的操作,我們還有一種可選方案:     1
.正在寫東西,突然有bug需要解決。       git stash    #將當前的程式碼放在一個新的臨時區/暫存區。以免帶入其他分支。       git checkout bug    #切換到bug分支       vim views.py       #修改程式碼,解決bug       git add views.py    #新增修改內容到暫存區       git commit "change_bug"  #提交程式碼到本地倉庫       git checkout master   #切換都master分支       git merge bug      #將bug分支的修改後的程式碼合併到master上       git push origin master  #將本地master分支的程式碼推到遠端       git checkout dev    #切換到修改程式碼前的分支(原來的程式碼在dev分支上寫的)       git status        #檢視dev分支的狀態,發現原來對程式碼的修改沒有了(寫了半天,沒有儲存,心裡很慌有沒有啊。。。)       more readme       #檢視更久遠的操作,發現依然沒有。(這是真的有點慌,甚至有點小絕望啊)          git stash list        #檢視臨時儲存的檔案列表(我擦,找到了,過山車般的體驗)       git stash apply      #恢復到上次儲存的位置(終於找到你,還好我沒放棄)       git status        #檢視狀態,發現一切和好如初(這個世界完美了。可以繼續愉快的寫程式碼了)     git stash的一些其他操作:       git stash drop     #刪除最久的那個使用了git stash 儲存的臨時狀態       git stash apply [email protected]{0}    #恢復到指定的那個臨時狀態       git stash pop    #恢復並刪除上一個臨時狀態       (ps: 1.git stash apply 恢復後,stash內容並不會刪除,需要使用git stash drop 來刪除          2.另一種方式是使用git stash pop, 刪除的同時把stash的內容也刪除了)   場景二:     多人合作開發,最後把所有人的程式碼合併到一起,然後測試並推到master中:       git add * git commit "success"      #將完成的程式碼新增到本地倉庫,等待合併       checkout maste    #切換到本地master分支       git pull         #將遠端master分支的程式碼下載到本地       git merge dev     #將本地dev中開發的程式碼合併到master中(這時候發現有衝突。自己的程式碼和master裡最新的程式碼有不一致的地方,不要慌,我和別人同時修改了原文程式碼導致的這種問題。下面需要進行手動合併。)       git status       #檢視檔案狀態,看都有哪些檔案有衝突       git diff views.py    #檢視檔案衝突的具體情況       vim views.py      #手動修改檔案       git add views.py  git commit "change_merge"  #新增到本地倉庫       git push origin master    #推送到遠端master分支