Git的簡易食用指南


一、前言

  • 為什么要學Git?

  Git,誕生於Linux之神Linus Torvalds之手,是一個開源的分布式管理系統,而且可以說是世界上最先進的(之一)(也許)。

  它具體有什么作用呢?

  • 想刪除一段代碼,但害怕以后找不回來,怎么辦?——沒關系,Git來幫你記錄。
  • 別人修改了代碼,我不知道他改了啥,怎么辦?——沒關系,Git上都可以留有痕跡。
  • 我想讓大佬幫我改改代碼,結果大佬改完了我還得手動合並,累死了,有啥辦法嘛?——沒關系,Git來幫你自動合並。
  • 我這軟件的最新版本有BUG,想回退,咋整?——沒關系,有Git,包您滿意。

  Git,就是這么一個小巧,開源,能讓代碼分布在每一個開發者的電腦上,能記錄並完成每一次修改的先進工具,是多人協作開發(沒錯我說的就是雛燕計划)的好伙伴。

  So,咱還不趕快開始學習起來?讓Git消去多人協作開發時出現的一切煩惱?

二、學習前准備

  • 安裝

  Mac:

  如果您是高貴的Mac用戶,那太棒了!90%的情況下,你都不需要學會如何安裝這個玩意——咱系統里自帶着!

    但如果庫克沒有給您高貴的電腦預裝Git,那也不要灰心,打開終端窗口,輸入以下命令:

  https://git-scm.com/downloads

     然后,為了檢查是否安裝完成,您還需要輸入以下命令:

  git --version

     如果輸出了Git的版本信息,沒有報錯,恭喜您!安裝成功了!

     Liunx:

   用liunx的大佬肯定完全不需要以下提示信息

   拜托,Git是Liunx之父開發的誒,安裝不是so easy?

   打開你的Liunx終端,輸入以下命令

  sudo apt-get install git

    靜靜等待,然后就大功告成咯!

    想用Liunx來體驗Git的同學(我也強烈推薦大家在Win10下使用Liunx子系統來完成Git的操作,簡單,還可以學到Liunx操作知識,豈不美哉?)

    可以移步閱讀以下文章(13條消息) 從零開始系列(三):Windows10安裝Linux子系統(WSL教程)_夏天的愛人是綠色的博客-CSDN博客

   Windows:

   知道你們會直接跳來看這個了,這才是人民群眾的大多數選擇啊!(認真臉

   First of all,那當然是要打開你親愛的百度,找到Git的官方網站,點進去,進入Download選項卡,單擊Download for Windows,

 

 

   出現這個,應該就下載成功咯!(如果沒下載成功點那個download manually就好)

   下載好,安裝完,我們就可以開始我們的教程啦!

三、新建Git倉庫並提交我們的第一個README.md文檔

  好了,是時候建立我們的第一個倉庫了!

  去可愛的Windows菜單那里,找到Git文件夾,打開里面的Git Bash(Liunx或Mac的話直接打開你們的終端就行)

  

  

  這就是我們的工作窗口啦!窗口的標題寫着當前所在的目錄。

  我可不想往我的C盤里塞Git倉庫,到時候把我C盤塞得滿滿當當,還不好找,怎么破?

  別急,我們來學習在命令行窗口下,對文件系統進行訪問/操作的幾個命令吧!

  mkdir 文件名

  作用:在當前目錄下新建名字為”文件名“的文件夾

  cd 目錄路徑

  作用:前往某個路徑 cd ../為回退到上級文件夾,cd bash為進入當前目錄下的文件夾

  ls

  作用:查看當前文件夾下有哪些文件

  pwd

  作用:顯示當前路徑

  那么,咱們來實操一下,如何在D盤新建一個gitLearn文件夾,並進入該文件夾吧!

  答案如下:

   

  既然來到了新文件夾,那就讓我們開始新建屬於我們自己的倉庫吧!在窗口里敲入以下命令:

  git init

  

 

  大功告成!

  新建README.md

  當然,咱可以不用跟自己過不去,用Windows的圖形化界面,直接到指定位置新建一個README.md文件,用寫字板輸入就好。

  但是,由於教學需要裝B,我們可以換一種方式,再教大家兩個命令:

  echo  “你想輸入的內容”>>文件名

  作用:將雙引號內的內容輸送到對應文件里

  cat 文件名

  作用:讀取文件內容並打印在命令行窗口上

  我們來新建一個README.md,往里面輸入Hello Git,作為我們添加到Git倉庫的第一個文件吧!

  

 

  然后,我再介紹幾條接下來要用到的命令:

  git status

  作用:查看Git倉庫情況

  git add 文件名

  作用:將文件添加到git倉庫的緩沖區里

  git commit -m”對於修改的描述“

  作用:將緩沖區的修改提交

  咱先敲一下git status,查看一下當前倉庫情況:

  

 

  呀,README.md被標紅了!

  標紅意思是,README.md文件剛剛被修改過,或者剛剛被新建,即之前不存在倉庫里/存在的不是這一個版本。

  咱們把它add進去后再查看一下狀態:

  

   好了,現在變成綠色了,我們就可以commit,完成我們的第一步咯!

  

 

四、對倉庫里的文件進行修改

  想修改剛剛寫好的README.md,怎么辦?

  沒事,就像剛剛說的那樣,修改之后,add進去,在commit第二次就好,我就直接甩出操作流程了:

  

 五、將文件上傳到遠程倉庫

 

   誒,這講了半天,我也沒看到怎么進行多人協作啊?

  別急,這就開始第一步:把咱的Git庫推送到遠程倉庫上!

  因為一些你知我知的原因,我就用Gitee進行展示了,GitHub也是類似的,請各位用GitHub的童鞋莫慌。

  在這之前,我們需要先獲取一些東西。

  很顯然,我們不希望讓別人隨意上傳/更改我們的遠程倉庫。那怎么讓遠程倉庫認得我們是誰呢?

  沒錯!我們需要一個憑證,這個憑證就是SSH 公鑰

  具體是怎么驗證的呢(涉及到一點點密碼學知識):

  Git服務器會獲取嘗試push的成員信息,經過特定的加密計算方法(這里是SHA256),生成一串密鑰,若這串密鑰與先前作者上傳的公鑰匹配,則通過

  現在,在Git bash倉庫里輸入以下命令

ssh-keygen -t rsa -C "你自己的郵箱地址"
作用:創建你自己的SSH-Key

  然后咱一路回車就好(畢竟你也不是做啥保密工作的,也不需要設置什么密碼)

  或者在問保存路徑的時候更改一下(我就不更改了)

  

   咱們可以去給出來的路徑里找到id_rsa.pub文件(在命令行上有寫路徑),接着用記事本打開它:

  

   接着,咱們打開Gitee的個人主頁,在個人設置的安全選項卡上找到安全設置——SSH公鑰,把剛剛生成的文件復制進去

  

 

     點擊確定即可。

  接着,我們需要在本地設置一下個人信息

  

git config --global user.name "你的名字"
git config --global user.email "你的郵箱"

  如果想查看已經添加的信息,可以用如下命令查詢

git config --list

  接下來,我們在Gitee上新建一個倉庫,拿到倉庫的ssh地址/http地址(一般選擇前者,因為后者還需要輸入賬號密碼登陸,比較麻煩)

  (不過Gitee的SSH不知為何經常抽風,所以咱還是用http來演示吧)

  

 

  如果你已經新建過倉庫了,可以在如下位置找到倉庫鏈接:

  

 

  使用以下代碼把遠程庫和本地git庫鏈接起來:

  

git remote add 遠程倉庫代替分支名(一般用origin) 遠程倉庫地址

  接着我們可以用 git remote -v來查看鏈接狀態:

  

   最后直接利用push命令,將本地的分支push上去即可

git push 遠程分支名 本地分支名 

  

     如果想要刪除遠端分支怎么辦?可以使用以下命令

git remote rm 分支名

  然后再重新add就好啦

  好了,咱們去Gitee上的倉庫看看,是不是已經上傳上去了

   大功告成!

六、分支管理

  分支:

  想象一種情況:

  你想嘗試修改調試某一Git倉庫里的代碼,可是你今天改了一半,沒改完。

  你想commit把已經寫了一半的修改保存,但又不希望其它人因為你的半成品代碼干不了活,這可咋整?

  這時候就可以請分支出場了!

  你只需要創建一個屬於自己的分支,把自己的修改提交到這個分支上,到時候碼完了,再同原分支合並,豈不美哉?

  那現在我們就來一起學習吧!

  分支的創建和提交至遠程倉庫

  我們可以用以下命令來新建並進入分支:

git branch 分支名稱
git checkout 分支名稱

 

  當然,你也可以把兩條命令寫在一起,像這樣:

git checkout -b 分支名稱

  

   接下來咱對這個分支下的文件進行修改,然后提交,並push到遠程倉庫上

  

   好了,上傳完畢!

  

  修改結束,如果我們現在想把遠程倉庫上的branch2和master給合並,又改怎么做呢?

  沒錯,我們要開始Pull Request咯!

  切換到Pull Request選項卡,選擇新建Pull Request:

  

 

  在我們的例子中,待合並的分支是branch2,我們想把這個分支合並到master去,則我們可把branch2設置為源分支,master設置為目標分支:

 

  然后填寫標題提交即可。

  接着,我們需要手動通過審核,然后接受這個Pull Request

   接受這個PullRequest之后,大功告成!

  

   可以看到,我們已經成功的把branch2分支給合並到了master分支里。

   如果branch2分支比master分支要老的話,在Pull request審核那里,Git不能自動合並,需要我們來進行手動合並,我在這里就不演示了。

七、對別人的倉庫進行修改

  如果,我想和別人合作協同開發一個軟件,即對別人的倉庫進行修改並提交,該怎么辦呢?

  我們當然不可能直接對別人的倉庫進行修改(SSH公鑰不匹配),所以需要用fork功能先把別人的倉庫給克隆到自己賬號名下。

  打開別人發給你的倉庫地址,點擊右上角的fork,在你的賬號下創建一個這個倉庫的克隆:

  

 

  接着,在我們自己的賬號里打開fork下來的倉庫,點擊克隆/下載,拿到http/ssh鏈接  

   然后,我們在本地的Git bash里,輸入以下命令

git clone 倉庫對應地址

  接着這個倉庫里的內容就會被下載到本地

      

  接着進入該項目文件夾,開始我們的修改,並把它push回Gitee(默認遠程服務器分支名字為origin,可用git remote -v查看):

  

 

  

 

  最后,我們通過Pull request,把我們賬號下的更改推送到原倉庫,就可以靜靜等待原倉庫的主人接受Pull Request咯!

  

   

 

  以上就是Git的基本食用指南咯,趕快把這個好用的工具,運用到你們的大作業/雛燕計划項目中吧!

  

 

   

 

 

 

  

 


免責聲明!

本站轉載的文章為個人學習借鑒使用,本站對版權不負任何法律責任。如果侵犯了您的隱私權益,請聯系本站郵箱yoyou2525@163.com刪除。



 
粵ICP備18138465號   © 2018-2025 CODEPRJ.COM