CentOS中GitLab版本控制實施指南
在CentOS系統上使用GitLab進行版本控制前,需完成以下基礎準備:
sudo yum update -y
sudo yum install -y curl policycoreutils-python openssh-server perl
sudo systemctl enable sshd && sudo systemctl start sshd
sudo firewall-cmd --permanent --add-service=https
sudo firewall-cmd --permanent --add-service=http
sudo systemctl reload firewalld
通過官方腳本添加GitLab社區版(CE)倉庫,確保后續可通過YUM包管理器安裝:
curl -sS https://packages.gitlab.com/install/repositories/gitlab/gitlab-ce/script.rpm.sh | sudo bash
使用YUM命令安裝GitLab CE(社區版),安裝過程會自動解決依賴關系:
sudo yum install -y gitlab-ce
/etc/gitlab/gitlab.rb
,設置服務器外部訪問地址(替換為實際IP或域名):sudo vim /etc/gitlab/gitlab.rb
# 找到并修改以下行(取消注釋并替換URL)
external_url 'http://your_server_ip'
sudo gitlab-ctl reconfigure # 應用配置
sudo gitlab-ctl start # 啟動服務
sudo gitlab-ctl enable # 設置開機自啟
在瀏覽器中輸入http://your_server_ip
,按照提示設置管理員密碼(root用戶),登錄后即可進入GitLab管理頁面。
登錄GitLab后,點擊頂部導航欄New project,填寫項目名稱(如my-project
)、描述(可選),選擇項目可見性(Private/Internal/Public),點擊Create project完成創建。
在項目頁面點擊Clone按鈕,復制項目的HTTP/SSH地址(如http://your_server_ip/my-username/my-project.git
)。在本地終端執行以下命令克隆倉庫:
git clone http://your_server_ip/my-username/my-project.git
cd my-project
git config --global user.name "Your Name"
git config --global user.email "your-email@example.com"
git add . # 添加所有修改的文件
git commit -m "Initial commit" # 提交更改(描述需清晰)
git push -u origin master # 推送master分支并設置上游
master
)創建新分支(如feature/login
):git checkout -b feature/login # 創建并切換到新分支
git checkout master # 切換回master分支
feature/login
分支的更改合并到master
分支:git checkout master # 切換到master分支
git merge feature/login # 合并feature/login分支
git push origin master # 推送合并后的master分支到遠程
若合并時出現沖突(Git會提示沖突文件),需手動編輯沖突文件(刪除<<<<<<<
、=======
、>>>>>>>
等沖突標記),然后執行以下命令:
git add conflict_file.py # 標記沖突已解決
git commit -m "Resolve merge conflict"
git push origin master
為項目的重要版本打上標簽(如v1.0.0
),便于后續快速回溯:
git tag v1.0.0 # 創建本地標簽
git push origin v1.0.0 # 推送標簽到遠程倉庫
在GitLab項目頁面的Repository→Tags中可查看和管理標簽。
通過.gitlab-ci.yml
文件配置自動化流程(如代碼構建、測試、部署),提升開發效率。例如,添加以下配置可實現代碼提交后自動運行測試:
stages:
- test
test_job:
stage: test
script:
- echo "Running tests..."
- pytest # 假設項目使用pytest
將.gitlab-ci.yml
文件提交到倉庫后,GitLab會自動觸發CI/CD流程。
通過以上步驟,即可在CentOS系統中使用GitLab實現完整的版本控制,覆蓋代碼托管、協作開發、歷史追溯等核心需求。