1. 程式人生 > >git日常使用學習記錄

git日常使用學習記錄

track auto 方式 revert 推送 sta afa 學習記錄 文件的

技術分享圖片
Workspace:工作區
Index / Stage:暫存區
Repository:倉庫區(或本地倉庫)
Remote:遠程倉庫

添加工作區所有文件到暫存區:
git add -A
查看工作區與暫存區文件的不同
git diff

從暫存區添加文件到本地倉庫
git commit -m " 提交信息"
查看暫存區與本地倉庫文件不同
git diff --cached

從本地倉庫master分支文件推送到遠程倉庫master 分支
git push -u origin master (第一次推送時使用)
git push origin master
git diff HEAD

打tag 並推送到遠程倉庫

git tag tagname
git push origin tagname 推送單一個tag
git push origin --tags 推送本地所有tag

刪除遠程倉庫tag
git tag -d tagname
git push origin :refs/tags/tagname

從遠程倉庫拉取與本地工作區合並
git pull

刪除 一些 沒有 git add 的 文件(未加入版本控制的文件);
git clean 參數
-n 顯示 將要 刪除的 文件 和 目錄
-f 刪除 文件,-df 刪除 文件 和 目錄

Undo&Revert:撤銷與恢復某個Commit
以創建一個新提交的方式撤銷某個提交的操作

git revert <commitid-ish>
恢復某個文件到某個Commit時候的狀態
git checkout <commitid-ish>

分支操作
獲取所有本地與遠程的分支
git branch -a
只展示遠程分支
git branch -r
根據某個Commit的Hash來查找所有關聯分支
git branch -a --contains <commit-ish> | git branch --contains <commit-ish>
刪除本地分支
git branch -d <local_branchname>
刪除遠程分支
git push origin --delete <remote_branchname>

或者
git push origin :<remote_branchname>
移除所有已經合並進入Master的分支
git branch --merged master | grep -v ‘^*‘ | xargs -n 1 git branch -d
移除所有在遠端已經被刪除的遠程分支
git fetch -p
或者
git remote prune origin

Rebase:變基
在Pull時候強制用變基進行操作
git config --global branch.autosetuprebase always
將某個feature分支變基到master,然後合並進master
git checkout feature && git rebase @{-1} && git checkout @{-2} && git merge @{-1}
變基之前自動Stash所有改變
git rebase --autostash
利用變基自動將fixup提交與正常提×××並
git rebase -i --autosquash
利用ReBase將前兩個提×××並
git rebase --interactive HEAD~2

Track:文件追蹤
展示所有被追蹤的文件
git ls-files -t
展示所有未被追蹤的分支
git ls-files --others | git ls-files -o

git日常使用學習記錄