Chrome Pointer

2021年11月1日 星期一

常用git語法介紹 (上傳github更方便)

 參考文章

💓查看以前git commit各版本更新的資料,並複製下來之操作教學


git init:初始化。

 

git status:確認狀態。

 

git add .:將所有檔案都加入版本控制(加入資料夾)。

git add <檔案名稱>:新增檔案到git

 

git commit m “提交訊息 建立版本及版本名

 

git remote add + <自訂代號> + <github 提供的網址>

git push u + <自訂代號> + master(主幹)

-u代表預設路徑

 

git log:查看版本歷史紀錄。

 

git reset -- <檔案名稱>:把add過的檔案unstages回去

git reset --soft HEAD^

這樣就會回到剛剛add之後的狀態了(HEAD^是上一個版本的意思,如果要回退到前n個,那麼就是HEAD~n

 

--soft 不刪除工作空間改動程式碼,撤銷commit,不撤銷git add .

--hard add commit撤銷,然後刪除工作空間程式碼,恢復到上一個commit結束時候的樣子

 

git checkout -- <檔案名稱>:把檔案回到上次commit時的狀態

 

git pull + <遠端主機(git hub)名稱> + <遠端分支名稱>

將遠端的分支下載下來

git pull:可以省略<遠端主機><遠端分支>

 

git checkout -b <branch分支名>:建立新branch並切換過去.

git switch -c <分支名>:建立新branch並切換過去.

 

git branch:可以顯示分支列表.

 

git branch -d <branch>:刪除分支

  

git rebase <rebase到哪個分支>

把目前分支的起始點移到最新進度

git rebase --continue

解決完衝突後繼續rebase (有時候可能需解決多次衝突)

 

git push -f

強制把現在電腦上的紀錄pushremote,

不建議在主要分支(ex: Master), 建議在branch上面做.

 

git config --global core.autocrlf false 

預設值false, 就是原本檔案是什麼line ending commit時就照存進去index內。如果你只在linux上使用完全沒有問題,但如果你的git repo是跨平台開發,就會發生有人commit windows style有人commit linux style,你checkout出來的檔案就會照原本commit進去的line ending,因此就會發生混亂。



git checkout -b xxx 創立分支+切換分支

git push --set-upstream origin xxx  上傳進新的分支

git branch -d xxx  在本地刪除新的分支

git push origin --delete unnecessary_delete  在遠端刪除分支