git基礎操作修煉手冊

2021-09-10 13:49:31 字數 3139 閱讀 6933

實習之前確實沒有接觸過git工具,一邊實習一邊學習,確實跳進過不少的坑,git工具教科書式的教程是在是太多了,我主要是根據自己的學習過程,跟大家分享一下,著重點在於實際操作,十天學會微控制器,一天學會git工具,嘿嘿,之前從csdn學到不少前輩大佬們的經驗,出於良心發現,也獻出自己的一些貢獻,ps:其實就是得瑟一下~本人也是第一次寫csdn,不足之處還望多多指教。

假如小明(哎,**都是小明)是乙個沒有接觸過git工具的孩紙,讓我來跟他聊會吧。

小明:什麼是git啊?能吃嗎?好吃嗎?

我:嗯……我也是個吃貨,但是可惜它並不能吃哎。linux的創始人linus(這個名字好有意思哈,就像作家在作品上寫了l個筆名)花了兩周的時間(大神就是大神,不服不行)用c寫完了git工具,乙個分布式版本控制系統。

小明:為什麼要用git,我給檔案起名為xxv1、xxv2……xxvn不就可以了嗎?

我:是的呢,你好聰明呢,不過,你醬紫看資料夾裡面的檔案,不會覺得很亂嗎?

小明:沒有啊,檔名自動排序,簡介明了

我:那你要是裡面有好多檔案要管理呢?

小明:嗯……這個嘛……那你說說git有什麼好處吧

我:1. 資料夾裡顯示的都是你當前版本的檔案,2. 可以方便的檢視版本之間的改動,3. 可以方便的回退到之前的版本, 4. 回退到之前版本後,還可以回到「未來」版本, 5. 更方便團隊合作開發……

小明:好啦好啦,這麼神奇的工具,快教我怎麼用吧

我:好嘞

按照教科書,git分為3個空間

版本庫:儲存提交的歷史版本檔案

暫存區:暫時儲存修改的檔案

工作區:當前可操作的檔案

git流程:

工作區檔案進行檔案修改,即檔案從未修改狀態變為已修改狀態,未修改狀態其實就是版本庫裡面當前的版本檔案。例如,修改檔案為a.txt

突然感覺這個檔案不用修改,怎麼辦?一直ctrl/command + z? 感謝git給我們提供了checkout工具,只需使用git checkout a.txt就回到未修改狀態啦, git checkout .所有撤銷所有修改檔案的修改

修改了a.txt檔案後,我們想暫時儲存起來並不提交到版本庫,git提供了add工具,git add a.txt將a.txt檔案add到暫存區,git add . 將所有修改檔案add到暫存區,使用git reset head a.txt將檔案從暫存區回到工作區

使用== git commit a.txt -m 「提交log」 ==將暫存區檔案提交到版本庫

總結

將work分支的提交copy到topic分支

注:5id是指work分支5這的點的版本號

git cherry-pick和git merge區別:

git cherry-pick新的節點儲存的是5id的提交資訊

git merge新的節點是merge資訊

注:rebase -i 互動式rebase,可對rebase過程進行操作

在開發中,我們需要本地分支和遠端分支相關聯,否則會報錯「未追蹤遠端分支」,下面是遠端分支相關的git基礎命令

git branch -vv 檢視本地分支和遠端分支關聯關係

git branch -a 檢視遠端分支

git branch --set-upstream-to=origin/branch branch 將本地分支和遠端分支建立關聯(本地分支和遠端分支可以是不同名分支)

git branch --unset-upstream 將本地分支和遠端分支解除關聯

一般發版時會使用tag工具進行打tag,用於記錄發版資訊,方便用於後期回溯版本。

git tag:展示所有tag資訊(展示的標籤按照字母順序排序)

git tag -l(–list):可以新增萬用字元過濾tag資訊。例:git tag -l 「v1.*」

git tag tag_name:新建輕量級(lightwight)tag,tag_name為需要新增的tag名稱。例:git tag v1.0

git tag -a tag_name -m tag_info:新建含備註(annotated)tag。例:git tag -a v1.0 -m 「v1.0是乙個很棒的版本」

git tag -a tag_name commitid -m tag_info:給某個commitid新增tag資訊

git show tag_name:檢視該tag資訊

git push origin tag_name:將本地tag push到遠端

git push origin --tags:將本地所有tag push到遠端

git checkout tag_name:切換到某個tag,此時該分支處於游離狀態,可以基於該分支建立新分支

git tag -d tag_name:刪除本地某tag

git push origin :refs/tags/tag_name:刪除遠端tag_name分支

Android 修煉手冊

簡介 android 修煉手冊 更多 作者 提 bug 標籤 自己學習 android 開發也有幾年的時間了,回想學習的過程,網上的教程大多集中在入門以及深入的系統原始碼分析,對於中高階的知識,並沒有乙個太系統的教程或者系列,在學習過程中總會有些迷茫。所以想把自己這些年的一些想法或者技術點做些記錄,...

git操作幫助手冊

用命令列建立乙個新的git倉庫 echo sd readme.md git init git add readme.md git commit m first commit git remote add origin git github.com yankunli sd.git git push u...

git 操作手冊

我們先來理解下git 工作區 暫存區和版本庫概念 下面這個圖展示了工作區 版本庫中的暫存區和版本庫之間的關係 圖中我們可以看出此時 head 實際是指向 master 分支的乙個 游標 所以圖示的命令中出現 head 的地方可以用 master 來替換。圖中的 objects 標識的區域為 git ...