git與gitlab工具


1.Git和SVN的對比

1)git是分布式的,svn是集中式的。(最核心)

2)git是每個歷史版本都存儲完整的文件,便於恢復,svn是存儲差異文件,歷史版本不可恢復。(核心)

3)git可離線完成大部分操作,svn則不能。

4)git有着更優雅的分支和合並實現。

5)git有着更強的撤銷修改和修改歷史版本的能力

6)git速度更快,效率更高。

基於以上區別,git有了很明顯的優勢,特別在於它具有的本地倉庫。

 

2.git幾個概念

1)工作目錄

工作目錄是對項目的某個版本獨立提取出來的內容。這些從 Git 倉庫的壓縮數據庫中提取出來的文件,放在磁盤上供你使用或修改。

 

2)暫存區域

是一個文件,保存了下次將提交的文件列表信息,一般在 Git 倉庫目錄中。有時候也被稱作`‘索引’’,不過一般說法還是叫暫存區域。

 

3)Git 倉庫目錄

是Git 用來保存項目的元數據和對象數據庫的地方。這是 Git 中最重要的部分,從其它計算機克隆倉庫時,拷貝的就是這里的數據。

 

3.git使用

1)常用選項

add        把工作目錄內容添加到暫存區域

branch          查看和設置分支

checkout        切換分支和撤銷

clone        克隆遠程倉庫

commit         把暫存取余提交到倉庫

init        初始化工作目錄

log          查看提交的日志信息

merge        合並分支

pull        拉取遠程倉庫

push         把本地內容推送到遠程倉庫

reset        撤銷操作

status        查看文件所處的狀態

 

2)使用

創建和初始化目錄

mkdir /git_li

cd /git_li

git init

 

創建文件進行測試

echo "test" >test

git add .       #把工作目錄下的所有文件提交到暫存區域

git commit -m "v1"      #把暫存區域的內容提交到倉庫並標識為v1版本

git config --global user.email "you@example.com"     #進行認證

git config --global user.name "Your Name"

再次提交

 

查看版本信息

gitlog

 

多次提交並設置為不同版本

echo "123" >> test

git add .

 git commit -m "v2"

[master 4c1ef68] v2

 1 file changed, 1 insertion(+)

echo "123" >> test

git add .

git commit -m "v3"

[master 7cb610b] v3

 

切換至V1版本

git reset --hard 8a3e5e13ab

 

工作目錄回滾

git checkout -- test   #進行工作目錄狀態撤銷

 

暫存區域回滾

git reset HEAD test   #不提交至倉庫

git checkout -- test   #工作目錄中撤銷

 

查看歷史版本信息

git reflog

 

3)git分支

查看分支

git branch

 

創建分支

git branch test

 

切換分支

git checkout test

 

合並分支

git merge test

 

4.gitlab私有倉庫

GitLab 是一個用於倉庫管理系統的開源項目,使用Git作為代碼管理工具,並在此基礎上搭建起來的web服務。

 

可通過Web界面進行訪問公開的或者私人項目。它擁有與Github類似的功能,能夠瀏覽源代碼,管理缺陷和注釋。可以管理團隊對倉庫的訪問,它非常易於瀏覽提交過的版本並提供一個文件歷史庫。團隊成員可以利用內置的簡單聊天程序(Wall)進行交流。它還提供一個代碼片段收集功能可以輕松實現代碼復用。

 

5.安裝gitlab

1)下載安裝包

wget --content-disposition https://packages.gitlab.com/gitlab/gitlab-ce/packages/el/7/gitlab-ce-8.9.5-ce.0.el7.x86_64.rpm/download.rpm

2)修改ip

vim /etc/gitlab/gitlab.rb

external_url 'http://192.168.52.233'

3)重新配置

gitlab-ctl reconfigure

gitlab-ctl start

啟動gitlab時80端口不可被占用

4)gitlab使用

git clone http://192.168.52.233/root/test.git

git push -u origin master

5)linux免秘鑰使用gitlab

ssh-keygen 生成秘鑰

公鑰粘貼到gitlab的ssh-keys中

拉取gitlab項目

git clone git@192.168.52.233:root/test.git

 


免責聲明!

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



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