Git學(xué)習(xí)筆記二

git-study

commit, tree與blob的對應(yīng)關(guān)系

  1. 一個commit對應(yīng)一個tree(唯一一個)
  2. 一個tree可以看作是一次commit之后整個項目的一個快照
  3. 一個tree可能也會包含多個tree
  4. 一個blob對應(yīng)一個文件

分離頭指針注意的問題

    當(dāng)切換到?jīng)]有綁定分支的commit時,并對其當(dāng)中的文件修改,最終提交commit保存后會出現(xiàn)"warning: you are leaving 1 sommit behind, not connected to any of your branches."
    這時的commit被git看作不重要,可能會被git所清理,如果你要保存這個commit就要新建分支(git branch new-branch-name [分支hash])

刪除不需要的分支

    git branch -d [branch-name / hash]

修改commit和massage

  1. 修改最新的commit
    git commit --amend
  1. 修改老舊的commit
    git rebase -i [privious-commit-hash]
    # 按照提示修改
    # 將pick改為reward
  1. 合并多次的commit
    git rebase -i [oldest-commit-hash]
    # 按照提示修改
    # 將pick改為squash
  1. 合并不連續(xù)的commit
    git rebase -i [oldest-commit-hash]
    # 未顯示出來的需要用到的commit要按照先后順序手動添加進(jìn)來
    # 把要合并的commit按照先后順序放在一起
    # 將pick改為squash

文件操作

文件的差異

  1. 比較暫存區(qū)與head指向的文件差異
    git diff --cached
  1. 比較工作區(qū)與暫存區(qū)文件差異
    git diff
    # 所以說git diff命令默認(rèn)比較的是工作區(qū)和暫存區(qū)的區(qū)別,默認(rèn)所有文件
    
    git diff -- file.name
    # 指定文件的差異

文件提交與回退

  1. 暫存區(qū)恢復(fù)成和HEAD一樣
    命令:git reset HEAD <file>...
    git reset HEAD
    # 清空暫存區(qū)所有文件(即取消暫存)
  1. 工作區(qū)恢復(fù)成和暫存區(qū)一樣

    命令:git checkout -- <file>...

    git checkout -- file.name
  1. 取消暫存區(qū)部分文件的暫存

    命令git reset HEAD <file>...

    git resset HEAD -- file1.name file2.name # ...
  1. 清除最近幾次提交
    git reset --hard [target-commit-hash]
  1. 查看不同提交的指定文件的差異
    # 比較兩分支的差異
    git diff branch1 branch2
    # 比較特定文件
    git diff branch1 branch2 -- file.name

    # 直接比較兩個commit
    git diff commit-hash-1 commit-hash-2 -- file.name
  1. 刪除文件的正確方法
    git rm file.name
  1. 緊急任務(wù)處理
    # 保存當(dāng)前狀態(tài)以便處理緊急事件
    git stash
    # 處理完之后再恢復(fù)
    git stash pop # 或 git stash apply

    # pop 和 apply的區(qū)別
    # pop恢復(fù)并丟掉stash list內(nèi)容,apply不會

    # 查看stash列表
    git stash list

指定不需要git管理的文件

.gitignore文件
最后編輯于
?著作權(quán)歸作者所有,轉(zhuǎn)載或內(nèi)容合作請聯(lián)系作者
【社區(qū)內(nèi)容提示】社區(qū)部分內(nèi)容疑似由AI輔助生成,瀏覽時請結(jié)合常識與多方信息審慎甄別。
平臺聲明:文章內(nèi)容(如有圖片或視頻亦包括在內(nèi))由作者上傳并發(fā)布,文章內(nèi)容僅代表作者本人觀點,簡書系信息發(fā)布平臺,僅提供信息存儲服務(wù)。

友情鏈接更多精彩內(nèi)容