git與gitlab工具

1.Git和SVN的對比

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

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

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

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

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

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

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

 

2.git幾個概念

1)工做目錄svn

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

 

2)暫存區域gitlab

是一個文件,保存了下次將提交的文件列表信息,通常在 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

相關文章
相關標籤/搜索