Git 常用的命令之避免尴尬
今天在代碼的合并中出現了原本不該出現的錯誤,這令我非常尷尬!!! 完全不應該出現的錯誤,然后在懵逼的狀態中同事美女同事幫忙搞定的!尷尬倒還好,畢竟我臉皮夠厚! 最重要的耽誤其他同事的下班時間。畢竟已經很晚了,車有不好叫… 在這里老哥對部門同事道歉了(這算是公開道歉嗎… … )!
整理一下今天的低級錯誤歸根就是對git的命令不夠熟悉所導致的,也怪我之前公司沒有用夠git,(小破老的公司,都是一人獨立開發的小系統)然后也沒有認真的學習git的使用。今天我就整理一下,后續會更新,今天是比較基礎的一些操作和命令,還有分享一些git工具。
Git的工作流程
一般的工作流程如下:
- 克隆Git資源作為工作目錄
- 在克隆的資源上添加或修改文件
- 如果其他人修改了,可以更新資源
- 在提交前查看修改
- 提交修改
- 在修改完成后,如果發現錯誤,可以撤回提交并在次修改提交
Git 工作區、暫存區和版本庫
基本概念
- 工作區:就是你在電腦上看到的目錄
- 暫存區:英文叫stage,或者index。一般存放在“.git”目錄下的index文件(.git/index)中。
- 版本庫:工作區有一個隱藏目錄.git,這個不算工作區,而是git的版本庫。
圖中左側為工作區,右側為版本庫。在版本庫中標記為“index”的區域是暫存區(stage,index),標記為“master”的是master分支所代表的數目錄。
圖中可以看出此時“HEAD”實際指向master分支的一個游標。所有圖中的命令中出現HEAD的地方可以用master來替換。
圖中的objects標識的區域為Git的對象庫,實際位于“.git/objects”目錄下,里面包含了創建的各種對象及內容。
當對工作區修改(或新增)的文件執行git add 命令時,暫存區的目錄樹被更新,同時工作區修改(或新增)的文件內容被寫入到對象庫中一個新的對象中,而該對象的ID被記錄在暫存區的文件索引中。
當執行提交操作git commit 時,暫存區的目錄樹寫到版本庫(對象庫)中,master分支會做相應的更新。 即master執行向的目錄樹就是提交時暫存區的目錄樹。
當執行git reset HEAD 命令時,暫存區的目錄樹會被重寫,被master分支指向的目錄樹鎖替換,但是工作區不受影響。
當執行git checkout HEAD或者git checkout head <file>命令時,會用HEAD指向的master分支中的全部或者部分文件替換暫存區和以及工作區中的文件,這個命令也是極其危險的,因為不但會清除工作區中為提交的改動,也會清除暫存區中未提交的改動。
git 的常用命令
git status 查看修改過得文件
git add -all 全部暫存
git add . 全部暫存
git commit 提交到當前分支
git commit -m 添加user信息 提交并描述修改內容
git pull 下拉
git push 推送
git checkout dev 切換到dev分支
git pull 下拉
git push 推送
git merge my_branch dev合并my_branch分支
git checkout my_branch 切換到my_branch分支
git checkout -b new_branch 創建新的分支 new_branch 并切換到new_branch分支
git branch -d new_breanch 刪除new_branch分支
總結
以上是生活随笔為你收集整理的Git 常用的命令之避免尴尬的全部內容,希望文章能夠幫你解決所遇到的問題。
- 上一篇: 快速傅里叶变换FFT的代码实现
- 下一篇: 计算机科学作业ppt百度云,ted演讲合