創建git倉庫
??命令:git init
??描述:創建一個可以容納資源(物件)的容器(倉庫)
往倉庫旁邊的暫存區中存放物件(資源)
??命令:git add [文件名]
??描述:將文件資源(物件)交給容器(倉庫)管理員(暫存區)說,這個資源(物件)以后是要入容器(倉庫)的;
將暫存區中的物件(資源)往倉庫中存放
??命令:git commit -m [本次提交的注釋]
??描述:告訴容器(倉庫)資源(物件)之前的所有狀態的改變進行一個快照(照相機照一張圖片);并將文件資源(物件)交給容器(倉庫)管理員(暫存區)說,這個資源(物件)以后是要入容器(倉庫)的;
往倉庫中存放物件(資源)
??命令:git diff "文件名"
??描述:當前修改的文件資源(物件)與容器(倉庫)中的文件資源(物件)的的比較
查看容器(倉庫)的提交歷史記錄
??命令:git log / git log --pretty=online git log --graph
??描述:查看git的提交歷史記錄
git回退到指定版本(時光穿梭機)
??命令:git reset --hard [commit_id]
??描述:查看git的提交歷史記錄
??備注:在git的世界中:HEAD 代表當前版本,HEAD^ 代表上一個版本 HEAD^^ 代表上上一個版本 HEAD~100 代表上100個版本;git reset HEAD "文件名" 可以把暫存區的修改撤銷掉(unstage) 重新放回工作區
git查看命令歷史
??命令:git reflog
??描述:查看歷史命令,以便確認要回到未來的哪個版本
git撤回修改
??命令:git checkout [文件名]
??描述:把對應的文件在工作區的修改全部撤銷
??備注:
場景一:對應的文件修改后還沒有放到暫存區中;撤銷修改會回到和版本庫一模一樣的狀態
場景二:對應的文件修改后放到了暫存區中,又再次的進行了修改;撤銷修改會回到添加到暫存區后的狀態
總結:讓文件回到最后一次git commit 或者 git add 時的狀態
git刪除文件
??命令:git rm [文件名]
??描述:從版本庫中移除對應的文件,并將工作區的文件也刪除掉
遠程倉庫
列出已經存在的遠程庫
??命令:git remote
??描述:列出已經存在的遠程庫
列出已經存在的遠程庫
??命令:git remote -v / git remote --verbose
??描述:列出已經存在的遠程庫的詳細信息;在每一個名稱后面列出其遠程URL
添加遠程倉庫
??命令:git remote add [遠程庫名稱] [URL]
??描述:遠程庫名稱是對遠程庫的一個引用(即名稱代表著URL所指向的遠程庫),
修改遠程倉庫
??命令:git remote rename [原名稱] [目標名稱]
??描述:即將原名稱修改為目標名稱
修改遠程倉庫
??命令:git remote rm [遠程庫名稱]
??描述:移除指定名稱的遠程庫
分支管理
創建并切換到對應的分支
??命令:git checkout -b [分支名]
??描述:創建分支并切換到創建的分支上
創建分支
??命令:git branch [分支名]
??描述:創建分支
遠程庫先開好分支然后拉取到本地
??命令:git checkout -b [分支名] [遠程庫]/[分支名]
??描述:將遠程庫中已經開好的分支拉取到本地
本地先開好分支然后推送到遠程
??命令:git checkout -b [分支名] (創建分支) git push [遠程庫] [本地分支名]:[遠程庫分支名]
??描述:將遠程庫中已經開好的分支拉取到本地
切換分支
??命令:git checkout [分支名]
??描述:切換到對應的分支上
查看所有分支
??命令:git branch / git branch -r(查看遠程所有分支)
??描述:查看所有的分支
備注:當前分支前面會標記一個 * 號
合并分支
??命令:git merge [分支名]
??描述:將對應分支的內容合并到master中
備注:
合并時如果出現"Fast forward"提示時;這種場景下Git只是將master分支指針直接右移; 如果不想使用"Fast forward"策略可以在merge時使用--no-ff參數更改為普通策略;eg: git merge --no-ff -m "merge時添加的描述信息" [分支名]
"Fast forward"策略合并后看不出曾經做過合并;普通策略可以
刪除分支
??命令:git branch -d [分支名] / git branch -D [分支名](強制刪除)
??描述:刪除分支
stash(數據存儲)
將當前工作現場儲存起來
??命令:git stash
??描述:將當前工作現場儲存起來,等以后恢復現場后繼續工作
展示工作現場的儲存列表
??命令:git stash list
??描述:查看當前工作區的儲存列表
恢復工作現場
??命令:git stash apply / git stash apply stash@{0}(恢復指定的現場)
??描述:恢復stash內容
備注:恢復后stash內容不會被刪除
刪除工作現場
??命令:git stash drop
??描述:刪除stash內容
恢復并刪除工作現場
??命令:git stash pop
??描述:恢復并刪除stash內容
備注:恢復后stash也會被刪除
標簽管理
git查看標簽列表
??命令:git tag
??描述:查看標簽列表
git打標簽
??命令:git tag [name] / git tag -a [tagname] -m [標簽描述信息] [commit_id]
??描述:git打標簽
git給指定commit_id打標簽
??命令:git tag [name] [commit_id]
??描述:git給指定的commit_id打標簽
git將本地標簽推送到遠程庫
??命令:git push [遠程庫] [tagname] / git push [遠程庫] --tags (將本地所有的標簽推送到遠程庫)
??描述:將指定標簽名推送到指定的遠程庫上
git查看標簽信息
??命令:git show [tagname]
??描述:展示對應標簽的信息
git刪除標簽
??命令:git tag -d [tagname]
??描述:刪除指定名字的標簽
git刪除遠程庫上的標簽
??命令:git push [遠程庫] :refs/tags/[tagname]
??描述:刪除遠程庫上指定名字的標簽