git命令

一些常見的git 命令
###git checkout
git checkout的特色是隨着它使用的方法的不一樣,其做用是徹底不一樣的,主要有三個方面
  1. 切換分支 (git checkout branch)
  2. 撤銷工做區修改 (git checkout -- file)
  3. 檢查工做區文件狀態 (git checkout),有點相似於git status
(注意: 有 「--」 表示撤銷文件, 沒有「--」表示切換分支,若是checkout後面什麼都不加,則表示檢查文件狀態,有點相似於git status)
1.切換分支,經過git checkout branch實現
2撤銷工做區修改.,經過git checkout -- file實現
git checkout --file的根據兩種不一樣狀況分別有不一樣的撤銷修改的效果
第一種是工做區文件修改但還沒有add到暫存區: 此時撤銷修改時,file就會回到上一次commit時的狀態
第二種是工做區文件add到暫存區後,又對工做區文件進行修改,此時撤銷修改時,file就會被暫存區的內容覆蓋
3...
 
###git reset
git reset的做用有兩種:
1. 回退版本
2.把暫存區的修改回退到工做區
 
reset能夠用於回退版本,reset有hard/soft/mixed三種模式
--soft # 回退 HEAD
--mixed # 還原 HEAD、暫存區 # 默認參數
--hard # 還原 HEAD、暫存區、工做區
 
git checkout, git reset和git stash的區別:
  • git checkout處理的狀況是:在工做區的代碼修改有bug,試圖放棄工做區的修改,用暫存區的內容或者已commit的內容覆蓋工做區。
  • git reset 處理的狀況是:最新提的一次commit有bug,想要消除本次commit記錄,以便從新提commit
  • git stash處理的狀況是: 在一個分支A 處理中,還沒有完成(未commit),但此時有有需求要求去新開另一個分支B,爲此先把A的現場存儲並隱藏起來,而後再去處理分支B,等分支B處理完成後,再回頭處理分支A
 
 
git log --graph 看分支圖表
 
git status
git status的狀態有三種:
  1. 未暫存
  2. 暫存,但未提交
  3. 已經提交
 
 
 
git diff
 
###git merge是根據commit的結果去合併的!!
 
git log --pretty=oneline
將log顯示爲單行
 
常見流程
##將本地倉庫上傳至github
2. 配置本地的用戶名密碼
$ git config --global user.name 「your_username」 #設置用戶名
$ git config --global user.email 「your_registered_github_Email」 #設置郵箱地址
3.在github上建立一個新的repository
4.根據github上的提示輸入命令
 
git init
git add README.md
git commit -m "first commit"
git remote add origin "github上repository的地址"
git push -u origin master
 
##分支開發
1.在master上建立dev分支
git branch dev
2.切換到dev分支
git checkout dev
3.進行開發
4.切回master分支,經過git merge進行合併
5.經過 git branch -d dev 刪除dev分支
 
一些git命令之間的區別
一. git log 和 git reflog
git log 僅僅輸出commit的歷史記錄,而git reflog會輸出commit,checkout和reset的記錄,以下圖
git log
git reflog
 
二.
相關文章
相關標籤/搜索