日韩性视频-久久久蜜桃-www中文字幕-在线中文字幕av-亚洲欧美一区二区三区四区-撸久久-香蕉视频一区-久久无码精品丰满人妻-国产高潮av-激情福利社-日韩av网址大全-国产精品久久999-日本五十路在线-性欧美在线-久久99精品波多结衣一区-男女午夜免费视频-黑人极品ⅴideos精品欧美棵-人人妻人人澡人人爽精品欧美一区-日韩一区在线看-欧美a级在线免费观看

歡迎訪問 生活随笔!

生活随笔

當前位置: 首頁 > 编程资源 > 编程问答 >内容正文

编程问答

从0开始学习 GitHub 系列之「03.Git 速成」

發布時間:2023/12/10 编程问答 32 豆豆
生活随笔 收集整理的這篇文章主要介紹了 从0开始学习 GitHub 系列之「03.Git 速成」 小編覺得挺不錯的,現在分享給大家,幫大家做個參考.

前面的 GitHub 系列文章介紹過,GitHub 是基于 Git 的,所以也就意味著 Git 是基礎,如果你不會 Git ,那么接下來你完全繼續不下去,所以今天的教程就來說說 Git ,當然關于 Git 的知識單憑一篇文章肯定說不完的,我這篇文章先介紹一些最基本的、最常用的一些 Git 知識,爭取讓你們 Git 速成。

1. 什么是Git?

Git 是 Linux 發明者 Linus 開發的一款新時代的版本控制系統,那什么是版本控制系統呢?怎么理解?網上一大堆詳細的介紹,但是大多枯燥乏味,對于新手也很難理解,這里我只舉幾個例子來幫助你們理解。

熟悉編程的知道,我們在軟件開發中源代碼其實是最重要的,那么對源代碼的管理變得異常重要:

比如為了防止代碼的丟失,肯定本地機器與遠程服務器都要存放一份,而且還需要有一套機制讓本地可以跟遠程同步;

又比如我們經常是好幾個人做同一個項目,都要對一份代碼做更改,這個時候需要大家互不影響,又需要各自可以同步別人的代碼;

又比如我們開發的時候免不了有bug,有時候剛發布的功能就出現了嚴重的bug,這個時候需要緊急對代碼進行還原;

又比如隨著我們版本迭代的功能越來越多,但是我們需要清楚的知道歷史每一個版本的代碼更改記錄,甚至知道每個人歷史提交代碼的情況;

等等等類似以上的情況,這些都是版本控制系統能解決的問題。所以說,版本控制是一種記錄一個或若干文件內容變化,以便將來查閱特定版本修訂情況的系統,對于軟件開發領域來說版本控制是最重要的一環,而 Git 毫無疑問是當下最流行、最好用的版本控制系統。

2. Git 安裝

上面說了,Git 是一個版本控制系統,你也可以理解成是一個工具,跟 Java 類似,使用之前必須得先下載安裝,所以第一步必須要安裝,我用的是 Mac , Mac 上其實系統自帶 Git 的,不過這里統一提供一下各平臺的安裝方式,這部分就不過多介紹,相信大家這里搞的定。

  • Mac:https://sourceforge.net/projects/git-osx-installer/

  • Windows:https://git-for-windows.github.io/

  • Linux:apt-get install git

3. 如何學習 Git ?

安裝好 Git 之后,怎么學習是個問題,其實關于 Git 有很多圖形化的軟件可以操作,但是我強烈建議大家從命令行開始學習理解,我知道沒接觸過命令行的人可能會很抵觸,但是我的親身實踐證明,只有一開始學習命令行,之后你對 Git 的每一步操作才能理解其意義,而等你熟練之后你想用任何的圖形化的軟件去操作完全沒問題。

我一開始教我們團隊成員全是基于命令行的,事后證明他們現在已經深深愛上命令行無法自拔,他們很理解 Git 每一步操作的具體含義,以致于在實際項目很少犯錯,所以我這里也是基于命令行去教你們學習理解。

4. Git 命令列表

怎么判斷你 Git 有沒有安裝成功?請在命令行里輸入 git ,如果出現以下提示證明你已經安裝成功了。

Git 所有的操作命令開頭都要以 git 開頭,上面列舉了最常用的一些 Git 命令,緊接著會有一句英文解釋這個命令的意義,都不是很難的單詞,不妨試著看一下,不過沒有實際操作你仍然不好理解,下面我們來以一個實際的操作來介紹下一些常用命令的含義。

5. Git 具體命令

第一步,我們先新建一個文件夾,在文件夾里新建一個文件(我是用 Linux 命令去新建的,Windows用戶可以自己手動新建)

mkdir test (創建文件夾test)
cd test (切換到test目錄)
touch a.md (新建a.md文件)

這里提醒下:在進行任何 Git 操作之前,都要先切換到 Git 倉庫目錄,也就是先要先切換到項目的文件夾目錄下。

這個時候我們先隨便操作一個命令,比如 git status ,可以看到如下提示(別糾結顏色之類的,配置與主題不一樣而已):

意思就是當前目錄還不是一個 Git 倉庫。

git init

這個時候用到了第一個命令,代表初始化 git 倉庫,輸入 git init 之后會提示:

可以看到初始化成了,至此 test 目錄已經是一個 git 倉庫了。

git status

緊接著我們輸入 git status 命令,會有如下提示:

默認就直接在 master 分支,關于分支的概念后面會提,這時最主要的是提示 a.md 文件 Untracked files ,就是說 a.md 這個文件還沒有被跟蹤,還沒有提交在 git 倉庫里呢,而且提示你可以使用 git add 去操作你想要提交的文件。

git status 這個命令顧名思義就是查看狀態,這個命令可以算是使用最頻繁的一個命令了,建議大家沒事就輸入下這個命令,來查看你當前 git 倉庫的一些狀態。

git add

上面提示 a.md 文件還沒有提交到 git 倉庫里,這個時候我們可以隨便編輯下 a.md 文件,然后輸入 git add a.md ,然后再輸入 git status :

此時提示以下文件 Changes to be committed , 意思就是 a.md 文件等待被提交,當然你可以使用 git rm –cached 這個命令去移除這個緩存。

git commit

接著我們輸入 git commit -m ‘first commit’ ,這個命令什么意思呢? commit 是提交的意思,-m 代表是提交信息,執行了以上命令代表我們已經正式進行了第一次提交。

這個時候再輸入 git status ,會提示 nothing to commit。

git log

這個時候我們輸入 git log 命令,會看到如下:

git log 命令可以查看所有產生的 commit 記錄,所以可以看到已經產生了一條 commit 記錄,而提交時候的附帶信息叫 ‘first commit’ 。

git add & git commit

看到這里估計很多人會有疑問,我想要提交直接進行 commit 不就行了么,為什么先要再 add 一次呢?首先 git add 是先把改動添加到一個「暫存區」,你可以理解成是一個緩存區域,臨時保存你的改動,而 git commit 才是最后真正的提交。這樣做的好處就是防止誤提交,當然也有辦法把這兩步合并成一步,不過后面再介紹,建議新手先按部就班的一步步來。

git branch

branch 即分支的意思,分支的概念很重要,尤其是團隊協作的時候,假設兩個人都在做同一個項目,這個時候分支就是保證兩人能協同合作的最大利器了。舉個例子,A, B倆人都在做同一個項目,但是不同的模塊,這個時候A新建了一個分支叫a, B新建了一個分支叫b,這樣A、B做的所有代碼改動都各自在各自的分支,互不影響,等到倆人都把各自的模塊都做完了,最后再統一把分支合并起來。

執行 git init 初始化git倉庫之后會默認生成一個主分支 master ,也是你所在的默認分支,也基本是實際開發正式環境下的分支,一般情況下 master 分支不會輕易直接在上面操作的,你們可以輸入 git branch 查看下當前分支情況:

如果我們想在此基礎上新建一個分支呢,很簡單,執行 git branch a 就新建了一個名字叫 a 的分支,這時候分支 a 跟分支 master 是一模一樣的內容,我們再輸入 git branch 查看的當前分支情況:

但是可以看到 master 分支前有個 * 號,即雖然新建了一個 a 的分支,但是當前所在的分支還是在 master 上,如果我們想在 a 分支上進行開發,首先要先切換到 a 分支上才行,所以下一步要切換分支

git checkout a

執行這個命令,然后再輸入 git branch 查看下分支情況:

可以看到當前我們在的分支已經是a了,這個時候 A 同學就可以盡情的在他新建的a分支去進行代碼改動了。

那有人就說了,我要先新建再切換,未免有點麻煩,有沒有一步到位的,聰明:

git checkout -b a

這個命令的意思就是新建一個a分支,并且自動切換到a分支。

git merge

A同學在a分支代碼寫的不亦樂乎,終于他的功能完工了,并且測試也都ok了,準備要上線了,這個時候就需要把他的代碼合并到主分支master上來,然后發布。git merge 就是合并分支用到的命令,針對這個情況,需要先做兩步,第一步是切換到 master 分支,如果你已經在了就不用切換了,第二步執行 git merge a ,意思就是把a分支的代碼合并過來,不出意外,這個時候a分支的代碼就順利合并到 master 分支來了。為什么說不出意外呢?因為這個時候可能會有沖突而合并失敗,留個包袱,這個到后面進階的時候再講。

git branch -d

有新建分支,那肯定有刪除分支,假如這個分支新建錯了,或者a分支的代碼已經順利合并到 master 分支來了,那么a分支沒用了,需要刪除,這個時候執行 git branch -d a 就可以把a分支刪除了。

git branch -D

有些時候可能會刪除失敗,比如如果a分支的代碼還沒有合并到master,你執行 git branch -d a 是刪除不了的,它會智能的提示你a分支還有未合并的代碼,但是如果你非要刪除,那就執行 git branch -D a 就可以強制刪除a分支。

git tag

我們在客戶端開發的時候經常有版本的概念,比如v1.0、v1.1之類的,不同的版本肯定對應不同的代碼,所以我一般要給我們的代碼加上標簽,這樣假設v1.1版本出了一個新bug,但是又不曉得v1.0是不是有這個bug,有了標簽就可以順利切換到v1.0的代碼,重新打個包測試了。

所以如果想要新建一個標簽很簡單,比如 git tag v1.0 就代表我在當前代碼狀態下新建了一個v1.0的標簽,輸入 git tag 可以查看歷史 tag 記錄。

可以看到我新建了兩個標簽 v1.0、v1.1。

想要切換到某個tag怎么辦?也很簡單,執行 git checkout v1.0 ,這樣就順利的切換到 v1.0 tag的代碼狀態了。

OK,以上全是一些最基本的Git操作,而且全是在本地環境進行操作的,完全沒有涉及到遠程倉庫,下一章節將以遠程 GitHub 倉庫為例,講解下本地如何跟遠程倉庫一起同步協作,另外今天講的全是最基礎最簡單的Git操作,一步步來,后續再繼續講解一下Git的高階以及一些Git的酷炫操作。

另外,考慮到可能會有人嫌我講解的太基礎太慢,畢竟我是針對小白,所以得一步步來,迫不及待的想要提前自己學習的不妨在我公眾號 AndroidDeveloper 回復「git」關鍵字,獲取一份我推薦的還不錯的 Git 學習資料,不謝,畢竟我這么帥!

相關文章:

從0開始學習 GitHub 系列之「初識 GitHub」

從0開始學習 GitHub 系列之「加入 GitHub」




轉載地址: http://blog.csdn.NET/googdev/article/details/52787586

轉載于:https://www.cnblogs.com/hehe520/p/6147502.html

總結

以上是生活随笔為你收集整理的从0开始学习 GitHub 系列之「03.Git 速成」的全部內容,希望文章能夠幫你解決所遇到的問題。

如果覺得生活随笔網站內容還不錯,歡迎將生活随笔推薦給好友。