工作中首次使用git,虽然前人已经整理了操作步骤,但是看的一头雾水,遇到问题也不知道怎么解决,所以总结一下。
一、fork 项目GROUP的仓库到自己的账号之下
这一步是在项目页面上操作的,直接访问项目git地址,在项目页面中点击‘fork’按钮,然后自己github项目中就会多出一个复制的项目。
目的:在git中使用fork相当于你在原项目的主分支上又建立了一个分支,你可以在该分支上任意修改。想将你的修改合并到原项目中时,可以add、commit、push 三部曲,然后在 GitLab 网页上提交 Merge Request 合并到对应的上游分支,管理员审核之后就能把你修改的东西合并到原项目的主分支上去。
为了后面便于描述,我们把项目地址记为'project_address';通过fork复制到自己github的地址为'your_address'。地址用https或ssh地址均可。
二、clone项目到本地
命令:git clone xx
git clone后面接的项目地址是第一步fork之后的项目地址(your_address)。fork的项目代码不会同步上游仓库的最新的代码,更新代码还是要用到上游仓库地址,操作见步骤三、四、五
三、添加上游仓库地址(创建别名)
命令:git remote add upstream xx
upstream可以自定义,后续更新(pull)代码都会用到这个别名;
xx为上游仓库地址(project_address)
扩展:命令git remote remove upstream可以删除别名后重新创建。
四、创建分支
若项目只有master主分支时可跳过这一步
命令:git fetch --all #创建所有分支
git branch <分支名> origin/<分支名> #创建指定分支
后面更新指定分支代码需要用到,否则只能更新到master的代码
五、更新代码
命令:git checkout <分支名> #切换分支
git pull upstream <分支名>
比如需要拉取主分支的代码就是git pull upstream master,其他分支替换分支名即可。
upstream为步骤三自定义的别名。
tips:开发时要尽量切换到对应分支上。【git branch】查看当前分支,【git checkout <分支名> 】切换分支
六、提交代码
(1)git add xx
提交全部代码用git add .
add前需要配置好用户名,如果没有配置按照命令行提示配置完成再add。
(2)git commit -a -m "xxx(描述)"
(3)git push #提交最新代码
三步完成之后去GitLab 网页(your_address)上提交 Merge Request 。
七、解决冲突
git status 可以告诉我们冲突的文件
冲突的内容会被标记出来,解决之后重新提交即可。
八、扩展
vi ~/.gitconfig,对git配置文件进行编辑
[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]的内容也可以通过命令行修改:
git config --global user.name
git config --global user.email