在此推薦乙個非常不錯的git學習**:
一,建立版本庫
①git init
把指定的目錄變成git可以管理的倉庫
②git add readme.txt
把readme.txt放到git暫存區
③git commit -m "test"
把暫存區裡面的內容提交到git倉庫,所以如果想提交**到git倉庫必須經過②和③兩個步驟
二,時光機穿梭
①git status
檢視工作空間裡面的檔案還有沒有提交到暫存區,暫存區裡面的內容有沒有提交到git倉庫
1.工作空間存在檔案沒有提交到暫存區
2.暫存區存在檔案沒有提交到git倉庫
3.暫存區裡面的檔案提交到git倉庫
git tracks change of files:git跟蹤到有檔案發生了改變
三,版本回退
①git log
檢視歷史提交記錄
②git log -- pretty=oneline
輸出提交版本概要資訊
③git reset --hard head^
git必須知道當前版本是哪個版本,在git中,用head表示當前版本,也就是最新的提交3628164...882e1e0(注意我的提交id和你的肯定不一樣),上乙個版本就是head^,上上乙個版本就是head^^,當然往上100個版本寫100個^比較容易數不過來,所以寫成head~100
git add readme.txt
將檔案提交到git暫存區
git commit -m "test"
將檔案提交git倉庫
git checkout -- readme.txt
將本地工作空間裡面的檔案與git暫存區裡面的檔案進行比較,刪除本地檔案裡面多餘的內容
git reset head readme.txt
將git暫存區裡面的內容還原到上乙個版本
rm test.txt
刪除工作空間裡面的檔案
git rm test.txt
刪除git版本庫中的檔案
遠端倉庫
git branch dev
建立分支
git checkout dev
切換分支
git branch
檢視當前分支
git checkout -b dev
建立並切換到分支
git add -a 和 git add . 以及 git add -u的區別
git add . :他會監控工作區的狀態樹,使用它會把工作時的所有變化提交到暫存區,包括檔案內容修改以及新檔案,但不包括被刪除的檔案
git add -u :他僅監控已經被add的檔案(即tracked file),他會將被修改的檔案提交到暫存區,add -u 不會提交新檔案(untracked file).(git add --update的縮寫)
git add -a : 是上面兩個功能的集合(git add --all的縮寫)
參考:
git show 某次的提交雜湊值 檔名(可選)
可以檢視某個版本提交的檔案
當你從遠端倉庫轉殖時,實際上git自動把本地的master分支和遠端的master分支對應起來了,並且,遠端倉庫的預設名稱是origin。
①.要檢視遠端庫的資訊,用git remote
②.要檢視使用者可以對遠端倉庫進行哪些操作,用git remote -v
git branch dev : 建立本地分支
說明:在這裡為什麼說本地分支呢?因為單純使用git branch dev命令之後,只會在本地建立dev分支,而在遠端倉庫並沒有dev分支
git checkout dev:切換到本地分支
git checkout -b dev:建立並切換本地分支
git checkout dev:切換成本地dev分支
git branch:檢視當前正在使用的分支
git push origin dev : 生成遠端倉庫dev分支(分支名稱dev)並提交**
說明:在使用該命令的時候,因為遠端倉庫還沒有dev分支,該命令會在遠端生成dev分支並提交**
git merge dev:在master分支上執行該命令的作用:將dev分支上的**合併到master分支上
git branch -d dev :刪除本地分支,此時遠端倉庫的分支並沒有刪除掉
git branch origin :dev 刪除遠端倉庫分支dev
說明:可以用這個非常無厘頭的語法來刪除它:git push [遠端名] :[分支名],注意origin後的空格
在git v1.7.0 之後,可以使用這種語法刪除遠端分支:
git push origin --delete
在這裡說明一下 我日常使用git開發流程
①轉殖git倉庫專案到本地
git clone [email protected]:michaelliao/gitskills.git
②建立本地分支並切換到分支dev
git checkout -b dev 或者 git branch dev (建立分支) , git checkout dev(切換分支)
③在dev上開發,開發完成後提交到伺服器dev分支(此時會自動建立分支dev)
git push origin dev
④合併**,首先需要切換到master分支
git checkout master
⑤更新master
git pull origin master
⑥將dev分支合併到master
git merge dev
⑦合併成功後提交master
git push origin master
說明:將master合併到分支也是同樣的步驟
版本回退,為了安全起見 一定要在分支上進行
先從master分支 dev
git branch dev
切換分支
git checkout dev
回退到指定版本
git reset --hard commitversion
場景1:當你改亂了工作區某個檔案的內容,想直接丟棄工作區的修改時,用命令git checkout -- file。 場景2:當你不但改亂了工作區某個檔案的內容,還新增到了暫存區時,想丟棄修改,分兩步,第一步用命令git reset head file,就回到了場景1,第二步按場景1操作。 場景3:已經提交了不合適的修改到版本庫時,想要撤銷本次提交
參考:
常用命令 Git 常用命令大全
安裝教程可參照 廖雪峰老師的安裝教程。git config 在git中,使用git config 命令來配置 git 的配置檔案,git配置級別主要有3類 1 倉庫級別 local 本地 git 倉庫級別配置檔案,作用於當前倉庫。優先順序最高 2 使用者級別 global,全域性配置檔案,作用於所有...
git 常用命令
檢視是否存在檔案需要上傳 git status git add git commit m 建立遠端倉庫 git remote add origin 116.255.146.153 ruby cd work daily project.git 更新git fetch 116.255.146.153 r...
git常用命令
詳細 1,git log p 命令來顯示每一次提交與其父節點提交內容之間快照的差異。2,為了檢視載入 staged 而並未提交 not committed 的內容差異,可以使用 git diff stage 命令 在git 1.6之前的版本中,使用 cached 適應情形 在執行git commit...