git 必要知識總結

目錄

最基礎

其他常用:

團隊開發


曾經聽過一句話:Git 命令滿天飛,是我比較佩服的一個大佬形容自己的,我也幻想過Git滿天飛,而且我還想要實現過,but後來我發現,其實掌握必要且實用的Git命令就已經夠用了,沒必要滿天飛,滿地走就行了。git的教程也特別多,一搜一堆,下面我就想說說我想說的git。

這篇blog,不是一個git教程,只說最常用的,最有用的、也就是關於git的必要知識。在初學git的時候,更建議找一個比較全面的教程,大約要半天到一天的時間就能夠混個臉熟了,重要的是需要動手操作。

最基礎

在聊Git之前,一定要知道git的幾個區域和各個區域的作用,如下:

  • 工作區      : 如果你對文件進行了修改,就會添加到工作區中,使用 git checkout --將工作區中的修改丟棄掉

  • 暫存區      : 使用git add 命令會將工作區的內容添加到暫存區,使用git reset HEAD file 將已經暫存到暫存區的修改移回到工作區 (這裏出現的命令和上面的命令本質上不需要記憶,因爲每次操作之後,都會有提示)

  • 本地倉庫  :使用git commit -m  將暫存區的數據提交到本地倉庫

  • 遠程倉庫  :使用 git push origin brance_name 將本地倉庫的數據推送到遠端

舉個例子來說:

如果你對某個文件進行了修改,git會自動感知文件的變化,該部分變化將會被記錄在工作區中,接下來使用這樣的幾個命令:

  • git add file  (添加到暫存區)

  • git commit -m 'comment about the change'  (提交到本地倉庫)

  • git push origin 某個分支 (推送到遠程倉庫)

git的幾個區域非常重要,是git大廈的基石。

其他常用:

此外,可以使用git log 來查看提交列表,可以看到你所有的提交,也就是所有分支的提交,你可以根據索引,使用git reset --hard index_value 進行版本的回退,如果當前版本還有未提交到的文件,就進行了版本的回退,然後在回到未來版本的時候,會發現工作區或者暫存區的修改都丟失了,這其實一件很崩潰的事情,因爲你好不容易對代碼進行了修改,but卻丟了,解決的辦法就是使用 git stash 將當前版本工作區和暫存區的修改儲藏起來,然後在進行版本的回退,在回到未來版本的時候,使用 git stash apply 就可以獲取儲藏起來的修改了。

git stash 是一個神奇的操作,能夠讓你從現在回到過去,在回到現在的時候,發現現在的東西(其實是修改但是沒有commit的file)都還在。

git status 也是我常用的命令,用來看看創建了哪些文件,修改了哪些文件,還可以看到提示信息,教你如何進行下一步操作,如果瞭解的 git 命令不多的話,完全可以靠着 git REPL 的提示進行下一步的操作,這一點是非常友好的。

團隊開發

在團隊開發的過程中,大家都是在各自的分支開發,各自寫各自的代碼,這樣能夠提高開發速度而且能夠避免代碼衝突(也即同時有兩個以上的人對通同一個代碼修改,導致git無法決策到底應該採用誰的修改),基本的流程是:

  • 從master分支(一般的)切一個新的屬於自己模塊的分支:git checkout -b dev (創建dev分支,並切換到dev)

  • 然後你在你自己的分支上code的自己的功能模塊

  • 然後提交代碼到本地倉庫,在推送到遠端倉庫(git add; git commit -m ;git push)

  • 提交一個merge request,請求將自己分支的代碼合併到master分支(其他團隊成員也進行同樣的操作)

  • 有的時候你開發的模塊還依賴團隊成員模塊,所以你需要到master分支pull到最新的代碼,然後merge 到自己的分支上。(git checout master;git pull;git checkout dev;git merge master )

所以,輕易不要修改別人的代碼,一旦產生了衝突,手動解決衝突是一件很噁心的事情,但是當噁心發生的時候,你沒有辦法,這個過程就是當你有了小孩兒之後你得給換尿布一樣。

 

作爲一個老實人,千萬不要告訴去問一個你喜歡的人這樣一個問題:

你覺得我這個人怎麼樣?

因爲你能收到的回覆恐怕就是:

挺好的!!

發表評論
所有評論
還沒有人評論,想成為第一個評論的人麼? 請在上方評論欄輸入並且點擊發布.
相關文章