一文了解git玩轉github(集成idea)

前言

社長,一個愛學習,愛分享的程序猿,始終相信,付出總會有回報的。知識改變命運,學習成就未來。愛拼纔會贏!
程序猿學社的GitHub,已整理成相關技術專刊,歡迎Star:
https://github.com/ITfqyd/cxyxs

1. 版本控制工具

提供完備的版本管理功能,用於存儲、追蹤目錄(文件夾)和文件的修改歷史,是軟件開發者的必備工具,適合團隊開發,提高開發效率的一款工具。

1.1爲什麼要使用版本控制工具?

簡單點說,你在開發過程中,會不斷髮現新需求,不斷髮現bug,如果不做控制,你的軟件將永遠不會發布,或今天一個版本,明天又是一個版本。
還有最重要的一點就是並行開發,現在項目開發,一般都是3-5個人開發,項目開發過程中,肯定會存在交集,如果沒有版本控制工具,我們就得,改動一個文件,就通知其他的人,我動了某一個文件,你們都增量更新一下,就算能增量更新,通過,人肉眼,一行行的增量,是否能保證準確性,最重要的就是效率太低。這是就需要一款版本控制工具,才能提供多個開發的效率。

1.2版本控制工具分類?

市面上流行的版本控制工具主要有svn(集中式)和git(分佈式)

產品 Svn git
核心區別 集中式(有一個服務器) 分佈式(每個開發的電腦都有一個本地庫)
權限 嚴格的權限控制,必須是授權的用戶才能訪問 所有用戶都可以訪問

2.Git簡介

Git是一個開源的分佈式版本控制系統,可以有效、高速地處理從很小到非常大的項目版本管理。 Git 是 Linus Torvalds 爲了幫助管理 Linux 內核開發而開發的一個開放源碼的版本控制軟件。

2.1 github

我們的代碼可以通過github或者碼雲來託管,也可以自己搭建git服務器。這裏我們使用現成的github。
**注意:**因爲github是國外的網站,訪問有時候會很慢,請耐心等待,或者使用碼雲。

2.1.1 註冊一個github賬號

訪問github官網 https://github.com/

點擊sign up


點擊驗證

每個人的問題都不一樣,相信大家都會

輸入用戶名,郵箱(最好不要用qq郵箱,會有攔截,還是設置白名單,太麻煩了),密碼
注意:郵箱是重點,後面需要進入郵箱激活。我的用戶名爲cxyxs1314,用cxyxs創建了很多次都提示賬號有問題,加了一個1314就可以了。看來還是一生一世管用。


我們選擇免費的,下面的Choose Free。免費的基本上滿足我們的需求,以前私有的倉庫還得收費。剛剛我看了一下詳情,發現私有的免費了。

這個就是一個調查問卷。我們不用管,直接下拉到最後

點擊跳過

網站跳轉到這個頁面,我們查看我們剛剛註冊的有些,發現來了一封郵件。如果我們一直沒有收到郵件,我們可以點擊resend email鏈接,重發郵件(郵件不要用qq郵箱,得設置白名單,重要的事情說三遍)。

點開郵件



就這樣,我們就創建好了一個github賬號。

2.1.2 git安裝

Git官網 https://git-scm.com/


我的電腦是64位的系統,所以選擇這個

因爲git是在國外的服務器上,所以下載很慢。沒有什麼好的解決方法,如果有好的處理方法,請在下方留言。謝謝。
找了半天,找了一個淘寶的鏡像
https://npm.taobao.org/mirrors/git-for-windows/v2.22.0.windows.1/

點擊exe文件


選擇保存到我們剛剛存放的目錄裏面。










耐心等待30s

2.1.3查看git是否安裝成功。

找一個空白地方,右擊鼠標,點擊git bash Here,輸入git –version,

能看到對應的版本,說明安裝成功。

2.1.4 git流程圖

  1. 調用git add把代碼提交到暫存區
  2. 調用git commit 把代碼提交到本地庫
  3. 調用git push 把代碼提交到github
  4. 把代碼提交到github上後,項目的組員,就可以從github上拉取代碼,調用git clone/git pull命令。

2.1.5 設置簽名有兩種方式

單個倉庫有效

git config user.name 用戶名
git config user.email 郵箱

全局有效

git config --global user.name 用戶名
git config –global user.email 郵箱
設置全局後,以後都不用設置用戶名和郵箱。
存放在用戶目錄下有一個隱藏文件,如果找不到,記得設置一下隱藏文件可見。


說明設置簽名成功。

2.1.6 創建倉庫




2.1.7 組建team

ITfqyd和cxyxs1314這兩個用戶名,需要組建一個團隊,共同開發一個項目,所以,ITfqyd作爲管理員,需要邀請cxyxs1314用戶名。
ITfqyd創建了一個gittest倉庫。


爲了方便模擬兩個用戶,我們通過兩個瀏覽器模擬。
第一個ITfqyd使用谷歌

第二個用戶cxyxs1314使用ie
用戶cxyxs1314因爲第一次登陸,需要輸入code碼,進入註冊的郵箱獲取code碼


輸入code


通過ITfqyd邀請人

使用cxyxs1314登陸,注意使用ie
https://github.com/ITfqyd/gittest/invitations

Accept接收邀請
點擊貓貓的頭像,到github首頁。記得多刷新幾次,我是刷新幾次後纔出來。

到這裏,組隊成功。

3. idea集成git

因爲idea是主流,eclipse使用人羣也變少。所以本文只介紹idea集成git。
注意,因爲idea版本界面設計一致在變化,但是,萬變不離其中。我們這裏以IntelliJ IDEA 2018.3.3 x64爲案例進行學習。

3.1 創建一個springboot項目




輸入maven的xy座標。點擊next

勾選lombok和web

項目名跟倉庫名稱建議保持一致。

3.2 增加測試代碼

package com.cxyxs.gittest.test;

/**
 * Description:轉發請註明來源  程序猿學社 - https://ithub.blog.csdn.net/
 * Author: 程序猿學社
 * Date:  2020/2/5 22:18
 * Modified By:
 */
public class Test {
    public static void main(String[] args) {
        String str="程序猿學社說武漢加油!";
        System.out.println(str);
    }
}

3.3 在idea配置git相關信息

配置github




輸入用戶名和密碼


配置git

創建本地庫


我們可以看出有git,cvs,svn這些版本工具。我們選擇git

點擊ok,界面,沒有任何的提示,說明創建git倉庫成功。
也有可能會提示,該目錄在git下了,點擊yes就行。

提交代碼到github


照着這個圖,我們走起。

加入暫存區
有時候因爲網絡問題,可能會有報錯,別慌,老鐵。再試幾次。
木有反應,說明加入暫存區成功。


點擊commit
耐心等待20s左右


注意,idea界面有變化



輸入倉庫名稱和倉庫的url
找到我的倉庫
https://github.com/ITfqyd/gittest



耐心等待30s


網絡不好,可能會有失敗情況,請多嘗試
再次訪問社長的gittest倉庫,發現代碼已經提交到github。

IDEA打開多項目窗口

後面會模擬兩個用戶同時開發,因社長只有一臺電腦,所以idea多窗口模擬

克隆或者拉取代碼

社長已經把代碼提交到github的gittest倉庫,還記得之前社長創建了一個用戶名爲cxyxs1314的賬號(稱他爲隔壁老王)。
模擬正式場景:有一個team,有兩個人,社長(組長)和隔壁老王(組員)。社長已經把隔壁老王邀請到我的團隊。並且,社長已經提交了項目的初始化代碼。隔壁老王,作爲組員,是不是得從github上把我的代碼拉取下來。
爲了方便模擬,我會開兩個idea的窗口,模擬兩個人開發的過程。以下爲了不混淆做一些說明,ITfqyd(社長) cxyxs1314(隔壁老王)


創建一個空的項目。

注意:因爲社長跑到這一步的時候,發現沒有配置idea多項目窗口,所以點擊finish後,idea沒有提示,讓我選擇this window或者new window。
如果在克隆這一步之前,就已經配置過idea兼容多窗口,就忽略這一步。



到這裏一臺電腦模擬兩個用戶開發就ok了。

隔壁老王的開發界面,注意是gittest1這裏的文件名,就是爲了區別開來

選擇目錄


注意這裏的還只是到工作空間。我們是新增項目,所以需要增加一個項目名


正在克隆代碼中,休息20s

我們可以看到代碼已經拉取成功

增加一句話,測試一下隔壁老王提交代碼是否成功
這裏就不過多的闡述提交代碼到github的過程了。
再回顧一下,git add->git commit->git push

社長開始拉取隔壁小王提交的代碼





解決代碼衝突

爲了模擬衝突。社長在以前的代碼上,又增加了一句話

中間省略社長提交代碼的步驟。就三步很簡單。git add->git commit->git push
這時候,隔壁老王也開始幹活了,而隔壁老王因爲對git不怎麼熟悉。不更新代碼,不更新代碼就開始編程。

而這時候的隔壁老王跑了git add->git commit兩步,已經到本地庫了。心情十分的愉悅,終於弄完了,可以下班喝茶去咯。
但是,一執行git push,涼涼。提交被拒絕。咋回事咯,小老弟。還能不能愉快的玩耍。頓時,隔壁老王,一下子心情變得糟糕起來咯。

來社長與大家來,論道論道,關於隔壁老王的這個問題,咋解決?
這是因爲,更新代碼不及時導致的,現在都是團隊作戰,有時候代碼肯定不可避免有交集,建議大家一個小時,更新一次代碼,別項目版本已經到了10.0版本,你還在1.0版本,中間差了9個版本,那不好意思,你只能解決這9個版本的問題了。


點擊pull,拉取代碼。


隔壁老王下班後,苦逼的一個人在解決衝突問題。而養成一小時一更新的社長,已經下班打卡喝茶去咯。

41029df8f588fc2084e5328c5edd3a0101fb8c57就是一個版本編號不用管。
老王解決衝突後的代碼如下。

再背一下社長的提交三步曲 add commit push。

驗證github代碼,也沒有問題。解決衝突就玩了。隔壁老王,終於鬆了一口氣。從這以後,隔壁老王,就養成了,勤拉最新代碼的習慣。

4 github搭建網站

新建倉庫(倉庫是用戶名.github.com)

我的倉庫名 ITfqyd.github.com


記得勾選initalize this repository with

個人博客搭建


創建文件index.html


通過我剛剛設置的網址訪問https://itfqyd.github.io/
注意反應有點慢,我等了快2分鐘才成功,也可以清空瀏覽器的緩存後,再訪問

通過自定義的博客網址訪問之前的倉庫,設置主題





輸入https://itfqyd.github.io/gittest/
注意:itfqyd.github.io是我自定義的博客網址, gittest是社長上傳到github的一個倉庫。

看到這裏,沒有圖片,看起來很不舒服。走起,開始設置圖片
修改README.md文件


發現
語法不兼容
。各個廠家的MD語法都不同。給大家看看我最初的效果

關於如何在github上實現這種吊炸天的效果,社長還在研究中,希望知道的老鐵,在下方評論

後記

程序猿學社的GitHub,歡迎Star:
https://github.com/ITfqyd/cxyxs
覺得有用,可以點贊,關注,評論,留言四連發。

發佈了275 篇原創文章 · 獲贊 484 · 訪問量 20萬+
發表評論
所有評論
還沒有人評論,想成為第一個評論的人麼? 請在上方評論欄輸入並且點擊發布.
相關文章