git伺服器gitlab之搭建和使用
git伺服器比較有名的是gitosis和gitolite,這兩個管理和使用起來稍微有些複雜,沒有web頁面,而gitlab則是類似於github的一個工具,github無法免費建立私有倉庫,並且為了程式碼安全,於是在內網安裝了一個自己實驗室的一個git伺服器,多方比較,選擇了gitlab,gitlab有很多依賴,而bitnami製作了一鍵安裝的包,下載連結:https://bitnami.com/redirect/to/37478/bitnami-gitlab-7.0.0-0-linux-installer.run ,使得安裝如此簡潔。
1. 安裝的過程中,會設定一個管理員賬戶,這個可以用來登陸,並且,gitlab的成員不能自己隨便申請,需要管理員進行邀請;
2. 設定ssh,參見help:
(1)檢視自己之前是否生成過ssh金鑰:
- cat ~/.ssh/id_rsa.pub
(2)如果之前沒有生成ssh金鑰,使用命令:
- ssh-keygen -t rsa -C "zy901002@gmail.com"
(3)將ssh的公鑰放到gitlab上面,頁面如下所示:
點選新增ssh key即可;
3. 工作流程,還是看gitlab的幫助文件,如下所示:
翻譯一下。。。
(1) 克隆管理員建立好的專案:
- git clone git@example.com:project-name.git
(2)建立自己的本地分支(分支的命名採用小駝峰式命名法,使用自己的名字+功能,比如zyHighway,不要使用特殊字元):
- git checkout -b $feature_name
- git commit -am "My feature is ready"
- git push origin $feature_name
(6)提交一個合併請求;
(7)管理員稽核程式碼,決定是否合併程式碼到主分支上。
4. 分支模型
master分支中,保留足夠穩定的程式碼,即已經發布或者即將釋出的程式碼; develop分支,用於後續開發,一旦通過穩定性測試,就合併到master分支中;在develop分支的基礎上,產生各個模組分支,模組功能實現之後,合併到develop分支上,測試穩定之後,再合併到master分支中。
5. 情景模擬
(1)管理員zhaoyu,新建一個專案vanet,並邀請huqiong加入,角色為開發者:
(2)成員zhaoyu克隆專案,寫了一份程式碼,並將寫好的程式碼上傳至伺服器的zhaoyuHighway分支上:
去提交頁面,發現已經建立了一個新的分支,並且可以向管理員提交合並請求,管理員關聯的郵箱會受到對應的郵件:
瀏覽一下提交的程式碼:
目前就到這裡,後期還會繼續更新。
附:
1. 伺服器怎麼關閉和啟動gitlab伺服器,並設為開機啟動項:
在安裝的目錄下有個檔案:ctlscript.sh,通過./ctlscript.sh start可以啟動,具體在README檔案中。
更改檔案許可權:chown git:git ctlscript.sh
新增對應命令到啟動檔案:/etc/rc.local中:./opt/gitlab-7.0.0-0/ctlscript.sh start
2. 修改git@domain_name中的domain_name
在安裝時,需要設定domain_name, 我這裡設定成我的公網的ip,如果沒有設定好的話,可以參考帖子:點選開啟連結 ,修改檔案:
- /home/git/gitlab/apps/gitlab/htdocs/config/gitlab.yml
3. thinkserver安裝紅帽系統
採用thinkserver RD340來搭建伺服器,支援的作業系統有紅帽。 安裝系統先用自帶光碟引導/分割槽,再用系統光碟進行安裝,安裝好之後,重啟會出現游標,注意這裡仍然需要插入安裝光碟,此時還沒有完成安裝。
在紅帽上安裝好系統之後,gitlab的訪問速度非常慢,後來發現是網路卡的問題,把網線重新插拔就好來。
時區設定,在地理位置那一欄一直找不到亞洲/上海,就把地理位置刪除來,自己設定時間,這樣在網頁上顯示的一些時間就不會出錯來。
4. 資料遷移(ubuntu的7.1gitlab遷移到redhat的7.8)
待寫
5. 關於7.8.1的自由註冊
配置一下郵箱,就可以自動註冊了,但是這樣不便於團隊的保密工作,還是採用邀請的方式來註冊。
6. 將原來倉庫的程式碼上傳到新的伺服器上,包括commit的記錄等log:
- zy@zy:~/longmenshan/longmenshan$ git push -u origin master
- @@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@
- @ WARNING: REMOTE HOST IDENTIFICATION HAS CHANGED! @
- @@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@
- IT IS POSSIBLE THAT SOMEONE IS DOING SOMETHING NASTY!
- Someone could be eavesdropping on you right now (man-in-the-middle attack)!
- It is also possible that a host key has just been changed.
- The fingerprint for the RSA key sent by the remote host is
- f9:46:83:46:cd:62:60:56:bb:df:19:c0:47:8d:b0:be.
- Please contact your system administrator.
- Add correct host key in /home/zy/.ssh/known_hosts to get rid of this message.
- Offending ECDSA key in /home/zy/.ssh/known_hosts:2
- remove with: ssh-keygen -f "/home/zy/.ssh/known_hosts" -R 222.197.180.140
- RSA host key for 222.197.180.140 has changed and you have requested strict checking.
- Host key verification failed.
- fatal: Could not read from remote repository.
參考:
1. gitlab多人協同工作:http://herry2013git.blog.163.com/blog/static/219568011201341111240751,原作者還製作了視訊教程,是不錯的參考資料;
2. 《pro Git中文版》,熟悉git常用操作和基本原理;
3.《Git 權威指南》,深入學習Git
4.gitlab常規維護命令http://blog.csdn.net/x6_9x/article/details/64929868
5.安裝除錯gitlab/gitlab-ce容器時遇到的502 Whoops, GitLab is taking too much time to respondhttp://blog.csdn.net/snowglede/article/details/74911101
轉:http://blog.csdn.net/zy416548283/article/details/38057925
相關文章
- git倉庫之gitlab搭建使用Gitlab
- GitLab、Git Flow 工作流使用Gitlab
- git、github、gitlab之間的關係GithubGitlab
- Mac下git的環境搭建和基本使用MacGit
- Gitlab管理之十八–使用Gitlab system hooksGitlabHook
- 使用 Git 來管理 Git 伺服器Git伺服器
- GitLab 之 Git LFS 大檔案儲存的配置Gitlab
- 11、Git之自建專案託管平臺(GitLab)Gitlab
- Gitlab自動部署之四:使用Gitlab-runner部署Gitlab的專案Gitlab
- jenkins搭建和使用Jenkins
- 《Git團隊協作》之Docker快速搭建GitLab私有倉庫DockerGitlab
- Gitlab管理之十九–使用API前管理gitlab前獲取私有令牌GitlabAPI
- gitlab使用Gitlab
- 快速搭建和訪問 FTP 伺服器FTP伺服器
- JB的git之旅-gitlab ci介紹Gitlab
- HugeGraph之索引重建和刪除索引
- bitnami gitlab 使用 gitlab-rails 命令GitlabAI
- Windows下使用GitStack搭建Git伺服器WindowsGit伺服器
- 使用docker安裝gitlab以及gitlab簡單使用DockerGitlab
- 一臺電腦配置兩個Git賬號(github和gitlab),不同倉庫使用不同的gitGithubGitlab
- 搭個 Web 伺服器(一)Web伺服器
- nfs伺服器搭建和遇到的問題NFS伺服器
- 在伺服器上使用 smart http 搭建 Git 伺服器伺服器HTTPGit
- Git 拉取 GitLab 分支上的專案Gitlab
- netty系列之:輕輕鬆鬆搭個支援中文的伺服器Netty伺服器
- Flink之小白Maven搭建和本地部署Maven
- k8s搭建和使用K8S
- docker安裝gitlab伺服器DockerGitlab伺服器
- git如何上傳所有的新檔案 gitlab如何上傳所有的新檔案 git本地覆蓋伺服器 強制本地覆蓋伺服器...Gitlab伺服器
- iOS開發之使用Git的基本使用(二)iOSGit
- iOS開發之使用Git的基本使用(一)iOSGit
- linux使用gitlab-runner,並註冊gitLabLinuxGitlab
- GitHub、GitLab、Git 操作的一些規範GithubGitlab
- JB的git之旅--.gitlab-ci.yml介紹Gitlab
- 版本管理工具Git(三)Gitlab高可用Gitlab
- github倉庫遷移到gitlab以及gitlab倉庫遷移到另一個gitlab伺服器GithubGitlab伺服器
- Android systrace環境的搭建和使用Android
- 使用 docker 搭建一個 gitea 的 Git 伺服器DockerGit伺服器
- GitLab宣佈推出無伺服器Gitlab伺服器