玩轉git與github--git命令

weixin_34185364發表於2018-09-14

檢視當前狀態git status

  git status

如果在工作區新增了檔案,再執行此命令,會提示工作區有哪些檔案

將檔案新增到暫存區git add

  git add xxx

xxx可以寫想要存入快取區中的檔案全稱,如text.html,如果xxx由.替代,意思是將工作區中的所有檔案提交到快取區

將檔案從暫存區提交到版本區git commit

  git commit -m "xxx"

xxx是提交資訊,用於表明修改了哪些內容等

檔案對比git diff

  git diff // 檢視工作區與暫存區的不同
  git diff --cached //檢視暫存區與版本庫的不同
  git diff 分支名字 //檢視工作區與版本庫的不同

撤銷

  git reset HEAD diff.txt // 將快取區中diff.txt撤銷回工作區
  git checkout diff.txt // 將工作區中diff.txt撤回到版本庫中diff.txt的狀態,暫存區也會自動還原
  git commit --amend // 有部分檔案忘記提交,發現時我們想撤回上次提交,把這次和上次的檔案一併提交
  git add diff.txt
  git commit -m "add diff.txt"
  git add append.js
  git commit -m "add diff.txt and append.js" --amend
  git log // 檢視日誌

刪除git rm

工作區的檔案可以隨意直接的刪除(右鍵刪除)

  git add del.txt // 將del.txt新增進暫存區,此時如果直接將工作區中的del.txt刪除,不會影響暫存區
  git rm del.txt // 刪除暫存區的del.txt檔案,若工作區中的delx.txt沒有刪除,無法直接刪除暫存區的del.txt
  git rm -f del.txt // 同時刪除工作區及暫存區中的del.txt
  git rm --cached del.txt // 只刪除暫存區中的del.txt

恢復

    git log // 檢視日誌,可以看到版本id
13614469-b7723a2af70515be.png
image.png

這裡id不需要完全複製出來,只需要部分即可

  git checkout 0cb966d220ddaec39a diff.txt // 恢復工作區的diff.txt檔案到某次提交到版本庫中的版本
  git reset --hard 0cb966d220ddaec39a // 還原工作區到某個版本
  git reset --hard HEAD^ // head指標,從當前版本回到上一個版本,HEAD~3,回退3個版本
  git reflog // 能夠看到操作日誌,以及版本id
13614469-569f73dacfe024e0.png
image.png

可以通過

 git reset --hard 0cb966d220ddaec39a // 還原工作區到某個版本

還原工作區版本

同步遠端倉庫

  git remote // 檢視遠端倉庫名字,預設是origin,git remote add可以修改
  git remote -v // 遠端倉庫的地址
  git push origin master // 同步操作,執行完畢檢視github網站

增加開發者(開發夥伴)

13614469-963fccda336a9b85.png
image.png

這裡如果其他人想要參與開發,就可以把專案克隆到他自己的本地電腦了

多人協作解決衝突

  // 都是同步更新(將遠端庫內容同步更新到工作空間)
  git fetch // 不自動合併(推薦) // 同步更新後,在本地工作區看不到檔案變化
  git diff master origin/master
13614469-08968a5804089ed3.png
image.png
  git merge origin/master // 合併,合併後內容都會出現,自行取捨衝突內容,然後就可以提交,同步遠端庫了
  git pull // 自動合併(不推薦)

相關文章