git clone 多个_如何通过Git参与项目开发
Git介紹
QA&小白
Git 是什么?
Git是一個開源的免費的分布式版本管理系統,最初是由Linux內核發明人Linus Torvalds用于管理Linux內核開發而開發的。
大神
小白Git的分布式是怎么樣的?
相對于集中式的版本控制系統,每個開發者可以克隆,在本地機器上拷貝一個完整的git倉庫,并可以提交代碼到本地。
大神小白
跟SVN比起來,Git的速度能快多少?
參見如下benchmark測試對比圖,就可以清楚看出Git的速度了!
大神
小白
Git的分支是什么?
分支(branch)是Git的核心概念之一,類似于CC的流,但又不相同。
大神
Git 支持創建多個分支用于不同的用途,比如默認的master分支用于生產環境,創建dev分支用于測試環境,其他的一些分支則用于各種功能特性的開發環境。各個分支之間是獨立的,當開發者提交代碼到專用開發分支時,不用擔心污染到其他分支的代碼,而且各個開發者之間可以并行開發,最后通過合并(merge)把代碼合并到主干(master/dev)分支。
小白
Git的暫存區(staging area)是什么?
暫存區是在提交(commit)代碼前的一個中間區域,可以用這個圖來說明。
大神
小白
Git相對于CC有哪些優勢?
優勢簡直兩只手都數不多來啊~例如↓↓↓
大神
Git一個副本支持無限量的分支,而CC每個流都需要一個副本。切換分支只需要一個命令,而切換流需要下載不同的倉庫副本,占空間、切換不變、代碼同步異常困難。
Git 進行代碼的合并只需要一個PR,而CC需要繁雜的合并工作,并且容易出錯。尤其是只需要合并部分代碼時,只能一個個提交進行合并,極易遺漏。
Git 的PR保存的是快照,非常便于進行代碼review,每次代碼提交和發布都是透明且可控的。CC缺乏相應功能。?
Git 支持非常靈活的多分支開發,可以無限并行。CC 只能在有限(1-2)個流上進行,并行任務及其有限(比如兩個流,只能進行兩個版本的任務,很難進行更加超前的開發),并且在發布后需要手動同步。
Git 每次commit和pr都可以非常便利的查看所有變更的文件和每個文件變更的細節,CC主要靠每個文件的歷史記錄。
Git 靈活的分支支持快速地迭代和高效的開發、發布流程。CC臃腫復雜。
Git 支持友好的多人協同開發,CC支持極差。
Git 擁有友好、強大的用戶界面,超多可選的客戶端,強大的命令行工具。CC上世紀的設計已經難以適應當前的主流節奏。
Git 強大的功能可以非常簡單地處理非常復雜的場景和需求,CC不能適應復雜的場景。?
Git 免費,CC非常昂貴。
Gitlab的使用
小白
在Gitlab中,作為項目的管理者,怎么創建新的項目呢?
通常情況下,先創建群組,并把項目成員加入群組,接著可以在群組中創建新項目,具體操作是這樣的:
大神
01
新建群組
022
群組命名
輸入群組名稱/描述,選擇可見性級別(私有/內部/公開),注:群組URL不支持中文字符。
可見性級別:
※ 私有:僅限項目組的成員可訪問
※?內部:登陸用戶可訪問
※?公開:無論登陸與否,都可以訪問
03
新建項目
在群組中,創建新項目
04
項目命名
輸入項目名稱/描述,點擊“Create project”按鈕,完成項目的創建!
小白
在Gitlab中,作為項目的管理者,怎么保障項目的代碼安全?
目前,Gitlab提供兩種方法:
大神
01Gitlab支持針對不同的開發者角色,提供不同的權限,分為如下幾種:
Guest – 無法讀取代碼
Reporter – 可以讀取代碼
Developer – 可以讀寫代碼
Maintainer – 讀寫代碼 + 項目的部分管理權限
Owner – 讀寫代碼 + 項目的所有管理權限
02
在Gitlab中,可以設定保護特定的分支,只允許特定的角色(比如owner/maintainer)對特定的分支推送(push)代碼或合并分支,設置如下圖:
小白
作為一個開發者,怎么參與到一個項目的開發?
以下圖sam_test_project項目為例,下面提供兩種方式,讓我們細細道來。
大神
壹
第一種,通過Eclipse方式。目前,低版本的Eclipse不自帶Git插件,需要自行安裝,Eclipse 2018-09以上,是自帶Git插件的,需要注意的是它的運行需要1.8版本以上的JDK支持。
1
開發者登陸Gitlab,進入要參與的項目,點擊右上角的“clone”按鈕,拷貝對應的倉庫地址(.git結尾的URI地址)。
02
打開Eclipse, 選擇File ->import ->Git ->Projects from Git ->點擊Next
03
選擇Clone URI ->點擊Next
04
在URI中粘貼你復制的Git倉庫地址,Eclipse會自動彈出剩下的信息。同時在User中輸入賬戶名,在password中輸入密碼,點擊Next
05
進入分支選擇頁面后,這里選擇的是dev分支,點擊Next
06
配置本地項目存放路徑,這里配置在云桌面的H盤
07
此時Git項目會自動下載,等項目下載的進度條加載好以后,選擇第三個選項(Import as general project),點擊Next。注:Import existing eclipse projects是導入一個存在的工程。
08
點擊Finish, 可以看到完整的項目
09
修改完代碼后,右鍵項目,選擇Team->Commit
10
在Git Staging,把“Unstaged Changes”加入到Git 暫存區
11
輸入commit message, 點擊”Commit and Push”推送到遠程Git倉庫
12
點擊close完成
貳
第二種,通過Git bash命令行方式克隆/提交代碼:
01開發者登陸Gitlab,進入要參與的項目,點擊右上角的“clone”按鈕,拷貝對應的倉庫地址(.git結尾的URI地址)。
02
在已安裝了Git客戶端的文件夾中,右鍵點擊“Git Bash Here”,克隆項目代碼到本地,如下圖。
03
接著修改本地代碼,并提交代碼到遠程倉庫中,以修改dev分支的test.sh文件為例:
小白
那么,在Gitlab中,分支合并是怎么操作?
首先,登陸gitlab,創建合并請求,把dev分支合并到master分支,并可對比兩個分支之間的文件和代碼差異性。
大神
接著,項目的owner/maintainer收到合并請求,審閱代碼變更并批準合并(merge)請求,最后dev分支被合并到master分支中。
大神
好啦,今天的介紹就到這里,相信通過以上的Q&A,大家都對Git及其使用有了初步了解了吧!更多Gitlab問題咨詢或技術交流,請聯系張海濱或趙少山。歡迎大家共同探討學習。
—END—系統與非功能團隊出品
作者:趙少山
編輯:方妍
往期精彩回顧
1.? 項目中用到的策略模式
2.? webpack4搭建react項目
3.? 遠程辦公之“血肉長城”
4.? Web響應式布局實踐
5.? 初識云原生
關注我們總結
以上是生活随笔為你收集整理的git clone 多个_如何通过Git参与项目开发的全部內容,希望文章能夠幫你解決所遇到的問題。
- 上一篇: 系统业务逻辑书籍_咨询行业书籍推荐
- 下一篇: hadoop 传感器数据_hadoop为