一 gitlab配置
1 創建ssh-key
首先下載git,地址: https://gitforwindows.org/ ,默認安裝即可。
安裝完畢任意位置鼠標右鍵,打開git-bash (是一個win下類unix風格的命令行,支持部分指令)
輸入 ssh-keygen.exe
回車回車回車 (中途會問你保存位置,取什么名字之類,默認即可,有需求可以換個名字創建多個key)
查看並復制生產的key,cat ~/.ssh/id_rsa.pub
2 gitlab設置
登錄 git (gitlab或者github)
一開始會發送確認郵件到所屬郵箱,需要登錄郵箱點擊確認進行激活才能繼續操作。
以gitlab為例,點擊右上角個人中心,選擇設置
點擊SSH Keys,並將剛剛本地生產的ssh key復制粘貼到下圖所示位置,點擊add 進行添加,Title任意取名即可。
3 fork代碼
一般開發是這樣一個流程 :初始代碼在開發組倉庫,每個成員各自fork一份到個人倉庫。本地從開發組倉庫獲取更新,本地代碼提交到個人倉庫,個人倉庫向開發組倉庫發起合並,經開發組長活經理審核后同意merge請求。如果有問題則打回。
這樣,點擊左側的Projects就可以看到個人倉庫也有一份這個代碼。
(PS:如果看不到開發組代碼倉庫的,看看自己在不在開發組的groups中,聯系組內大佬加一下。)
二 代碼拉取和配置
首先有命令行和圖形化兩種方式,命令行則用之前安裝的git bash即可,圖形化可以使用sourceTree,實測sourceTree較為簡單。
這里提供兩種模式下的操作。
1 git bash下操作
1.1 克隆代碼
建議找一個目錄,專門存放gitlab上的代碼。在該目錄下右擊鼠標打開gitbash窗口
克隆代碼 git clone ssh://git@git.xxx.com/xxx.git
進入代碼文件夾, cd xxx
(cd后看到文件夾后的括號了么,表示這是一個git倉庫文件夾,master表示當前分支是master)
1.2 配置本地信息
輸入以下命令,配置郵箱和用戶名,用於說明是誰提交,每次都會記錄到歷史操作中。
git config --global user.name "xxxxx"
git config --global user.email "xxx@xxx.com"
1.3 添加遠程來源
上面說過了,拉到本地的是fork的代碼,,每次更新還是需要從開發組倉庫獲取的。那么需要添加一下遠程來源。
輸入 git remote add yuancheng ssh://git@git.xxx.com/xxx.git
(前面是固定語法,yuancheng是我給他取得別名,可以隨意修改,后面跟遠程倉庫地址)
輸入git fetch yuancheng
拉取遠程代碼及所有分支 (如果遠程來源多可以直接git fetch --all
)
可以輸入 git branch -a 查看當前所有分支情況,可以看到除了remotes/origin是初始拉取的,多了一大堆remotes/yuancheng開頭的分支,說明拉取是成功了。
1.4 更新代碼
提交代碼之前,一定要養成先更新下的好習慣。
其實個人倉庫開發組倉庫相對本地來說都是遠程倉庫。只不過按照目前做法,只從開發組倉庫更新,命令如下: git fetch yuancheng master
意思是,從遠程yuancheng源的master分支更新本地master分支
合並遠程yuancheng源的master分支到本地master分支: git merge yuancheng/master
多數情況下,本地都是和遠程相差甚遠的,獲取更新總是報錯,要你本地很多文件先commit,但是你還不想提交,你可以先執行 git stash
然后再執行git fetch命令重新獲取更新,遇到沖突本地修改完以后再commit提交到個人倉庫。
2 sourceTree下操作
2.1 添加倉庫
打開sourceTree,點擊“文件--克隆/新建” 或者 “+”號進行新建。
gitlab上復制下倉庫地址 ,有http和git兩種格式,這里復制git格式的地址
在sourceTree下繼續操作,首次添加都點擊Clone,填寫代碼倉庫地址,本地存放路徑等信息,點擊克隆。
(如果本地之前已經下載過,就點擊Add文件夾直接進行添加即可)
此時會提示驗證未通過之類的信息,意思是讀取倉庫失敗了,別急,在設置中設置一下。
sourceTree打開“工具--選項--一般”,找到SSHKey客戶端配置,SSH客戶端選擇 OpenSSH。
默認是Putty/Plink可以看到沒讀取SSH密鑰,切換后,會自動拿到一個默認地址,讀取到SSH密鑰。
修改完,在回去添加倉庫,克隆就可以成功了。
2.2 添加遠程來源
右上角點擊“遠端”或者點擊“倉庫--倉庫設置”,點擊添加
可以看到已經有一個默認的倉庫,就是我們的個人倉庫,代碼初始從這拉取的,但是更新要從開發組倉庫拉,點擊添加。
遠端名稱隨便寫,路徑寫開發組的項目地址,點擊確定,可以看到現在有兩個遠程倉庫了。
2.3 更新代碼
點擊“拉取”,從下拉框中選擇開發組的那個地址。
點擊“要拉取的遠端分支”,選擇master分支。
點擊確定就行了。
2.4 界面信息簡介
已暫存文件:已經commit過還沒提交的文件。
未暫存文件:文件內容發生變化但還未commit過的文件。