linux系統git安裝及應用

一、git安裝

1.默認安裝

   執行命令:yum install git

 

2.安裝指定版本git

    先刪除剛纔已下載的安裝包:yum remove git

    下載對應版本git:wget https://www.kernel.org/pub/software/scm/git/git-2.8.3.tar.gz

    解壓對應安裝包:tar -zxvf git-2.8.3.tar.gz

    進入目錄:cd git-2.8.3/

    配置git安裝路徑:./configure prefix=/usr/local/git/

源碼的安裝一般由3個步驟組成:配置(configure)、編譯(make)、安裝(make install)。

Configure是一個可執行腳本,它有很多選項,在待安裝的源碼路徑下使用命令./configure –help輸出詳細的選項列表。

其中–prefix選項是配置安裝的路徑,如果不配置該選項,安裝後可執行文件默認放在/usr /local/bin,庫文件默認放在/usr/local/lib,配置文件默認放在/usr/local/etc,其它的資源文件放在/usr /local/share,比較凌亂。

如果配置–prefix,如:
./configure --prefix=/usr/local/test1
可以把所有資源文件放在/usr/local/test的路徑中,不會雜亂。

用了—prefix選項的另一個好處是卸載軟件或移植軟件。當某個安裝的軟件不再需要時,只須簡單的刪除該安裝目錄,就可以把軟件卸載得乾乾淨淨;移植軟件只需拷貝整個目錄到另外一個機器即可(相同的操作系統)。

當然要卸載程序,也可以在原來的make目錄下用一次make uninstall,但前提是make文件指定過uninstall。

    編譯並且安裝:make && make install

    查看git版本號:git --version

    git已經安裝完畢

二、git使用

1.使用基本命令流程圖

 

2.使用示例

    a.創建倉庫

         git --bare init test   -- 若不指定目錄test,則默認當前目錄爲新倉庫,當前目錄下生產.git文件。這裏包含test新文件夾,於是在當前目錄新增文件夾test,test文件夾作爲倉庫,test目錄下面生成.git文件。

在初始化遠程倉庫時最好使用 git --bare init   而不要使用:git init
   如果使用了git init初始化,則遠程倉庫的目錄下,也包含work tree,當本地倉庫向遠程倉庫push時,   如果遠程倉庫正在push的分支上(如果當時不在push的分支,就沒有問題), 那麼push後的結果不會反應在work tree上,  也即在遠程倉庫的目錄下對應的文件還是之前的內容,必須得使用git reset --hard才能看到push後的內容.

 

       

b.clone代碼到本地工作空間

  git clone user@ip:git路徑  -- user爲登陸服務器的用戶名,ip爲服務器ip,git路徑爲git倉庫的路徑。

  如下:git clone root@服務器ip:/workspace/test,clone下來後,進入test文件夾,發現當前分支爲master,這是git倉庫創建時的默認分支。

   注意:此時需要輸入密碼爲登陸服務器的密碼。

  
c.本地創建分支並且提交到服務器

問題場景:新建git項目或剛爲已存在項目創建了git倉庫,想用git branch dev創建dev分支或用git checkout -b dev創建並切換到dev分支時報錯。

原因:剛創建的git倉庫默認的master分支要在第一次commit之後纔會真正建立,否則就像你聲明瞭個對象但沒初始化一樣

    初始化倉庫:在本地test目錄下新增文件提交到服務器(文件提交命令:git add .->git commit -m"文字說明"->git push)

    

   創建新分支develop,git branch爲查詢當前本地分支,git branch develop爲創建develop新分支,git checkout develop爲切換分支到develop

   

   上傳分支到服務器:git push origin develop

   

   這是本地新建一個其他文件夾other,clone一份倉庫git內容,並可以切換到develop分支

   

   d.文件衝突解決

    場景:當兩個人同時修改了一個文件,一個人已經提交,第二個人再提交時就會發現有衝突,這時候就需要先解決衝突後再提交。

方法1:

git pull 出現衝突後丟棄本地衝突文件修改,採用遠程文件覆蓋本地文件

git checkout  [文件路徑]  --本地庫內容覆蓋工作區內容
例:git checkout test/src/main/resources/spring-shiro.xml  

git pull重新從服務器更新內容

方法:2:

示例:develop分支上存在文件:衝突文件.txt,用戶1修改提交:

用戶1修改後更新代碼(git pull)出現衝突:

這時候需要先解決衝突才能更新下來,然後提交代碼,步驟如下:

先暫存本地修改git stash ,然後git pull 更新代碼,這時我們打開文件“衝突文件.txt”,看到是用戶1提交的內容

然後執行合併暫存內容命令:git stash pop,查看衝突文件,<<<<<<< Updated upstream爲從服務器更新下來的內容,

>>>>>>> Stashed changes爲暫存區的內容

   

   接着修改文件內容,留下需要的內容提交即可

   

方法3:

1.git pull

更新代碼,發現

error: Your local changes to the following files would be overwritten by merge:pom.xml

Please commit your changes or stash them before you merge.
這說明你的pom.xml與遠程有衝突,你需要先提交本地的修改然後更新。

2.git add pom.xml

  git commit -m '衝突解決'

 提交本地的pom.xml文件,不進行推送遠程

3.git pull

更新代碼

Auto-merging pom.xml
CONFLICT (content): Merge conflict in pom.xml
Automatic merge failed; fix conflicts and then commit the result.

更新後你的本地分支上會出現 (develop|MERGING)類似這種標誌

4.找到你本地的pom.xml文件,並打開

你會在文件中發現<<<<<<< HEAD ,=======  ,>>>>>>> ae9a0f6b7e42fda2ce9b14a21a7a03cfc5344d61

這種標記,<<<<<<< HEAD和=======中間的是你自己的代碼,  =======  和>>>>>>>中間的是其他人修改的代碼

自己確定保留那一部分代碼,最後刪除<<<<<<< HEAD ,=======  ,>>>>>>>這種標誌

5.git add pom.xml

git commit -m '衝突解決結束'

再次將本地的pom.xml文件提交

6.git push

將解決衝突後的文件推送到遠程
 

三、gitLab關聯

yum安裝
1. 安裝並配置必要的依賴關係
   //在 CentOS 系統上下面的命令將會打開系統防火牆 HTTP 和 SSH 的訪問
   sudo yum install curl openssh-server openssh-clients postfix cronie
   sudo service postfix start
   sudo chkconfig postfix on

   sudo lokkit -s http -s ssh

# 若不執行安裝有可能遇到這個錯誤【lokkit: command not found 】
yum -y install lokkit


2. 添加 GitLab 鏡像源並安裝
   curl -sS http://packages.gitlab.com.cn/install/gitlab-ce/script.rpm.sh | sudo bash
   sudo yum install gitlab-ce
   //如果你不太習慣使用命令管道的方式安裝鏡像倉庫,你可以在這裏找到 完整的安裝腳本 
   或者 選擇系統對應的安裝包 使用下面的命令手動安裝
   curl -O https://mirrors.tuna.tsinghua.edu.cn/gitlab-ce/yum/el6/gitlab-ce-9.4.3-ce.0.el6.x86_64.rpm
   rpm -ivh gitlab-ce-9.4.3-ce.0.el6.x86_64.rpm
3. 配置並登陸 GitLab
   進入配置文件:  vi ./etc/gitlab/gitlab.rb
   修改文件:在文件中命令模式下使用後面查找命令找到:/external_url 'http://localhost'
   將localhost修改爲瀏覽器訪問的網址即可
   加載配置:sudo gitlab-ctl reconfigure
4. 訪問 GitLab
   輸入http://剛纔配置的IP

如果8080端口號已經被佔用,則訪問會報502,這時候需要修改端口號,如下操作:

# gitlab-ctl stop

# vi /etc/gitlab/gitlab.rb   (取消註釋並修改端口)
unicorn['port'] = 8801

# gitlab-ctl reconfigure  (重新生成配置)
# gitlab-ctl restart
# lsof -i:8081        (查看端口號對應的服務)

5.註冊賬號登錄--自行創建自己的賬號
6.創建項目

 

7.clone項目到本地

   git clone http://服務器ip/登陸用戶名/myproject.git

   clone時輸入密碼即使用戶對應密碼

   

 

 

四、git卸載

1.刪除git安裝包

2.卸載已安裝git

<1.>找到git的位置

終端命令:which -a git

<2.>cd進入git所在的目錄

終端命令:cd /usr/bin/git(這個是一般的默認位置)

<3.>刪除命令

終端命令:sudo rm -rf git*

 

發表評論
所有評論
還沒有人評論,想成為第一個評論的人麼? 請在上方評論欄輸入並且點擊發布.
相關文章