《git基本操作指南》
一:
1:新建資料夾,進入資料夾下;
2:git init (把該目錄變成git可以管理的倉庫)
3:git add text.txt (新增到暫存區裡面去)
4:git commit -m "text.txt提交" (把檔案提交到倉庫)
5:git status (檢視是否還有檔案未提交)
6:如修改了 text.txt ,再 git status 提示有修改的檔案,是未提交狀態
7:git diff text.txt (檢視修改的具體內容)
8:git log 或 git log --pretty=oneline(檢視歷史記錄)
9:git reflog (檢視版本號,以便回退和恢復版本號)
10:git reset --hard HEAD^^ 或 git reset --hard HEAD~2(回退到上上個版本)
11:git reset --hard 6fcfc89 (恢復刪除的版本號,通過 git reflog 檢視所有歷史版本(包括已刪除的版本))
12:git status 檢視顯示,會告訴你 git checkout -- text.txt (在未提交前,撤銷工作區的修改)
注意:git checkout -- text.txt (如果沒有 -- 的話,就是創分支)
二:刪除檔案
13:rm.text.txt (可以直接在目錄下刪掉檔案或者使用此命令)
如果想徹底從版本庫中刪掉次檔案,可以再執行commit命令
*只要沒有commit之前,如果想從版本庫中恢復次檔案呢?
14:git checkout -- text.txt (恢復text.txt) 再commit
三:遠端倉庫
ssh-keygen -t rsa –C “
1:登入github,開啟” settings”中的SSH Keys頁面,然後點選“Add SSH Key”,填上任意title,
在Key文字框裡黏貼id_rsa.pub檔案的內容
2:登入github上,然後在右上角找到“create a new repo”建立一個新的倉庫
或命令列操作:git init
git add text.txt
git commit -m "first commit 檔案"
git remote add origin https://github.com/17093186/testgit.git
git pust -u origin master
3:由於遠端庫是空的,我們第一次推送master分支時,加上了 –u引數,
Git不但會把本地的master分支內容推送的遠端新的master分支,
還會把本地的master分支和遠端的master分支關聯起來,
在以後的推送或者拉取時就可以簡化命令
4:從現在起,只要本地作了提交,就可以通過如下命令:git push origin master
5:git clone http://10.37.2.145:3000/poleas/lma-common-modules.git (從遠端庫克隆)
四:建立與合併分支
1:git checkout -b dev (建立並切換分支) 相當於 (第一步:git branch dev 第二步:git checkout dev)
2:git branch 檢視分支
3:在dev分支增加版本,在master並不會出現
4:git merge dev (在master分支上,把dev分支上的內容合併到分支master上)
5:git branch –d dev (刪除分支)
檢視分支:git branch
建立分支:git branch name
切換分支:git checkout name
建立+切換分支:git checkout –b name
合併某分支到當前分支:git merge name
刪除分支:git branch –d name
五:如何解決衝突?
1:cat text.txt (Git用<<<<<<<,=======,>>>>>>>標記出不同分支的內容,其中<<<HEAD是指主分支修改的內容,>>>>>fenzhi1 是指fenzhi1上修改的內容)
2:git log (檢視分支合併的情況)
3: 建立一個dev分支。
修改readme.txt內容。
新增到暫存區。
切換回主分支(master)。
合併dev分支,使用命令 git merge –no-ff -m “註釋” dev (使用帶引數 –no-ff來禁用”Fast forward”模式)
git branch -d dev (刪除版本,並顯示刪除的版本號)
git branch (檢視分支)(被刪除的分支資訊還在)
git log --graph --pretty=oneline --abbrev-commit (可以看到被刪除的版本號)
六:bug分支
1:git stash (比如我在開發中接到一個404 bug時候,我們可以建立一個404分支來修復它,但是,當前的dev分支上的工作還沒有提交。
我暫時並不想提交:git stash 將當前的工作現場隱藏起來,等以後恢復現場後繼續工作)
2:現在我可以通過建立issue-404分支來修復bug了
在master上來修復,在master分支上建立一個臨時分支:
git checkout -b issue-404
3:修復完成後,切換到master分支上,並完成合並,最後刪除issue-404分支
4:回到dev分支:git checkout dev
5:git stash list 檢視(目前工作區是乾淨的,那麼我們工作現場去哪裡呢)
6:工作現場還在,Git把stash內容存在某個地方了,但是需要恢復一下,可以使用如下2個方法:
1:git stash apply恢復,恢復後,stash內容並不刪除,你需要使用命令git stash drop來刪除。
2:另一種方式是使用git stash pop,恢復的同時把stash內容也刪除了。
七:將本地專案上傳到遠端
1:把你的專案貼上到這個本地Git倉庫裡面(粘貼後你可以通過git status來檢視你當前的狀態)
2:git add把專案新增到倉庫(或git add .把該目錄下的所有檔案新增到倉庫,注意點是用空格隔開的)
3:用git commit把專案提交到倉庫
4:ssh-keygen -t rsa -C "
5:在Github上建立一個Git倉庫
6:git remote add origin https://github.com/guyibang/TEST2.git 在Github上建立好Git倉庫之後我們就可以和本地倉庫進行關聯了
7:git push -u origin master
八:多人合作
當你從遠端庫克隆時候,實際上Git自動把本地的master分支和遠端的master分支對應起來了,並且遠端庫的預設名稱是origin。
1:要檢視遠端庫的資訊 使用 git remote
2:檢視遠端庫的詳細資訊 使用 git remote –v
推送分支:
git push origin master
推送失敗:
因為小夥伴最新提交的和我試圖推送的有衝突,解決辦法:
先用git pull把最新的提交從origin/dev抓下來,然後在本地合併,解決衝突,再推送;
git pull也失敗了,原因是沒有指定本地dev分支與遠端origin/dev分支的連結:
git branch --set-upstream dev origin/dev
因此:多人協作工作模式一般是這樣的:
首先,可以試圖用git push origin branch-name推送自己的修改.
如果推送失敗,則因為遠端分支比你的本地更新早,需要先用git pull試圖合併。
如果合併有衝突,則需要解決衝突,並在本地提交。再用git push origin branch-name推送。
Git基本常用命令如下:
mkdir: XX (建立一個空目錄 XX指目錄名)
pwd: 顯示當前目錄的路徑。
git init 把當前的目錄變成可以管理的git倉庫,生成隱藏.git檔案。
git add XX 把xx檔案新增到暫存區去。
git commit –m “XX” 提交檔案 –m 後面的是註釋。
git status 檢視倉庫狀態
git diff XX 檢視XX檔案修改了那些內容
git log 檢視歷史記錄
git reset --hard HEAD^ 或者 git reset --hard HEAD~ 回退到上一個版本
(如果想回退到100個版本,使用git reset –hard HEAD~100 )
cat XX 檢視XX檔案內容
git reflog 檢視歷史記錄的版本號id
git checkout -- XX 把XX檔案在工作區的修改全部撤銷。
git rm XX 刪除XX檔案
git remote add origin https://github.com/tugenhua0707/testgit 關聯一個遠端庫
git push –u(第一次要用-u 以後不需要) origin master 把當前master分支推送到遠端庫
git clone https://github.com/tugenhua0707/testgit 從遠端庫中克隆
git checkout –b dev 建立dev分支 並切換到dev分支上
git branch 檢視當前所有的分支
git checkout master 切換回master分支
git merge dev 在當前的分支上合併dev分支
git branch –d dev 刪除dev分支
git branch name 建立分支
git stash 把當前的工作隱藏起來 等以後恢復現場後繼續工作
git stash list 檢視所有被隱藏的檔案列表
git stash apply 恢復被隱藏的檔案,但是內容不刪除
git stash drop 刪除檔案
git stash pop 恢復檔案的同時 也刪除檔案
git remote 檢視遠端庫的資訊
git remote –v 檢視遠端庫的詳細資訊
git push origin master Git會把master分支推送到遠端庫對應的遠端分支上