工作中首次使用git,雖然前人已經(jīng)整理了操作步驟,但是看的一頭霧水,遇到問題也不知道怎么解決,所以總結(jié)一下。
一、fork 項(xiàng)目GROUP的倉庫到自己的賬號之下

這一步是在項(xiàng)目頁面上操作的,直接訪問項(xiàng)目git地址,在項(xiàng)目頁面中點(diǎn)擊‘fork’按鈕,然后自己github項(xiàng)目中就會多出一個復(fù)制的項(xiàng)目。
目的:在git中使用fork相當(dāng)于你在原項(xiàng)目的主分支上又建立了一個分支,你可以在該分支上任意修改。想將你的修改合并到原項(xiàng)目中時,可以add、commit、push 三部曲,然后在 GitLab 網(wǎng)頁上提交 Merge Request 合并到對應(yīng)的上游分支,管理員審核之后就能把你修改的東西合并到原項(xiàng)目的主分支上去。
為了后面便于描述,我們把項(xiàng)目地址記為'project_address';通過fork復(fù)制到自己github的地址為'your_address'。地址用https或ssh地址均可。

二、clone項(xiàng)目到本地
命令:git clone? xx
git clone后面接的項(xiàng)目地址是第一步fork之后的項(xiàng)目地址(your_address)。fork的項(xiàng)目代碼不會同步上游倉庫的最新的代碼,更新代碼還是要用到上游倉庫地址,操作見步驟三、四、五
三、添加上游倉庫地址(創(chuàng)建別名)
命令:git remote add upstream xx
upstream可以自定義,后續(xù)更新(pull)代碼都會用到這個別名;
xx為上游倉庫地址(project_address)
擴(kuò)展:命令git remote remove upstream可以刪除別名后重新創(chuàng)建。
四、創(chuàng)建分支
若項(xiàng)目只有master主分支時可跳過這一步
命令:git fetch --all #創(chuàng)建所有分支
git branch <分支名> origin/<分支名>? #創(chuàng)建指定分支
后面更新指定分支代碼需要用到,否則只能更新到master的代碼
五、更新代碼
命令:git checkout <分支名>? ? ? ? ?#切換分支
git pull upstream <分支名>?
比如需要拉取主分支的代碼就是git pull upstream master,其他分支替換分支名即可。
upstream為步驟三自定義的別名。
tips:開發(fā)時要盡量切換到對應(yīng)分支上?!緂it branch】查看當(dāng)前分支,【git checkout <分支名>?】切換分支

六、提交代碼
(1)git add xx
提交全部代碼用git add .
add前需要配置好用戶名,如果沒有配置按照命令行提示配置完成再add。
(2)git commit -a -m "xxx(描述)"
(3)git push #提交最新代碼
三步完成之后去GitLab 網(wǎng)頁(your_address)上提交 Merge Request 。
七、解決沖突
git status 可以告訴我們沖突的文件
沖突的內(nèi)容會被標(biāo)記出來,解決之后重新提交即可。
八、擴(kuò)展
vi ~/.gitconfig,對git配置文件進(jìn)行編輯
[alias]為快捷鍵配置,[user]用戶名和郵箱配置
示例:
[user]
name = flower
email = flower@email.com
[alias]
? ? ? ? st = status
? ? ? ? co = checkout
? ? ? ? ci = commit -a -v
? ? ? ? br = branch
? ? ? ? lg = log --color --graph --pretty=format:'%Cred%h%Creset -%C(yellow)%d%Creset %s %Cgreen(%cr) %C(bold blue)<%an>%Creset' --abbrev-commit
其中[user]的內(nèi)容也可以通過命令行修改:
git config --global user.name
git config --global user.email