一款超級好用JavaMelody 系統監控工具
阿新 • • 發佈:2020-10-18
檔案四個狀態
- untracked:新建,未被add到快取區
- staged:被add的檔案
- unmodified:使用commit後
- modified:修改過的檔案
untracked unmodified modified staged |------------------------------------------------------>| add暫存檔案 |------------------>| 編輯檔案 |--------------->| add暫存檔案 |<---------------------------------| commit提交檔案
本地操作
- git init:初始化一個本地倉庫
- git add [fileName]/[.]:將檔案加入暫存區
- git reset Head -- [fileName]/[.]:撤銷暫存區檔案(注意命令的空格)
- git commit:提交變更,就是將暫存區的新檔案和倉庫舊檔案進行合併,用-m引數可以加上對這次提交的描述
- git log:檢視日誌,裡面有提交記錄,每個提交記錄都有雜湊值
- git reflog:檢視日誌,所有分支所有提交記錄,包括reset了的提交記錄
- 要使用雜湊值時,前七位就夠用了
- git reset [commitID]:恢復到commitID當時提交的狀態,用git log檢視commitID。恢復後,git log檢視不到被刪除版本,要通過git reflog檢視
- --hard引數
- --soft引數:保留變更且變更內容處於staged
- --mixed引數(預設):保留變更且變更內容處於modified
- --hard引數
- git status:檢視當前倉庫的狀態資訊,顯示什麼檔案被更改了,或者被加入暫存區等等
- git checkout -b [name] [template]:建立分支並切換分支(注意命令的空格)
- template引數指以哪個分支為模板,不填預設當前分支為模板
- 不使用-b引數,切換分支;
- template前加上orgin,可以切換到遠端倉庫的分支
- git branch:檢視所有分支
- git branch [branchName]:建立分支name
- git merge [branchName]
- 解決衝突:
- 同一檔名,不同內容:手動修改程式碼後,刪除提示線,git add衝突檔名,git commit即可
- 都修改了檔名:手動刪除檔案
- 解決衝突:
遠端操作
- git clone [Git url]:將遠端倉庫copy下載到本地倉庫
- git push:使用--set-upstream origin
將本地新建立分支上傳遠端倉庫;不使用,將本地倉庫分支推送到遠端倉庫對應分支 - git fetch:獲取遠端倉庫資訊,將最新內容拉到本地,但未合併到本地倉庫
- git pull:大致=fetch+merge,可能會有衝突
pull和fetch+merge的區別
2. 別的使用者合併更新了分支
3. git fetch,再進行merge;流程:github->remotes->head
4. git pull;流程:github->remotes,github->head