1. 程式人生 > 實用技巧 >一款超級好用JavaMelody 系統監控工具

一款超級好用JavaMelody 系統監控工具

檔案四個狀態

  • 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
  • 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