yangbo5207 / everyday

Something I learn every day.
5 stars 0 forks source link

一次关于分支操作的练习 #10

Open yangbo5207 opened 8 years ago

yangbo5207 commented 8 years ago

使用1832064870@qq.com注册一个新的gitlab账号,新账号需要添加一个ssh key 才能执行pull,push等操作. ssh key会存放在 ~/.ssh/id_rsa.pub,首先查看这个文件,看看系统本地是否已经有一个ssh key了

~ cat ~/.ssh/id_rsa.pub

一个ssh key 的格式如下

ssh-rsa AAAAB3NzaC1yc2EAAAADAQABAAABAQDZWn3IzEi0nPr3m1PkrjL2ktHXqVGbX5f5a7J95OOxX1h7UmYzfl56YOSXxwfWY9E7Eem+rpwxi1J4F7iy672EaNynvWLs54kkfHzvaKGjYuRrGei1FLAtMQmahwdN9FNT5hndsOnXstyCymHGzV8oYt62Vc7/1ekT1+MTl+VlIVKL89QihwtRPqTLUtu3HGkeJP0zgdV/+8TLb+2EqCYiUEVuoYHovPyN/b/qar7m87Zo9a2hu0yk1eb1qbChNfI8p49Shxry0S5oikP4uAAvJTKaw2wHgrnmesfXYn6jr9o+A6P6tJFyJFnre+H0VOpv+mdsjN7sCGTWzl8EQ3Rb 1832064870@qq.com

如果存在ssh key,则直接在相应的页面中添加,可能会提示ssh key已经被使用,那么久需要创建一个ssh key

~ ssh-keygen -t rsa -C "1832064870@qq.com"

弹出来的提示都按enter默认,确认覆盖已存在的ssh key.,再次查看最新的ssh key

~ cat ~./ssh/id_rsa.pub

复制到相应位置即可.

使用yb_836@163.com登陆gitlab,创建一个新的项目,然后在这个项目的member中邀请1832064870@qq.com为开发者.点我查看如何邀请

重新设置用户和邮箱

~ git config --global user.name "nico"
~ git config --global user.email "yb_836@163.com"

clone repository到本地

~ git clone git@gitlab.com:nicobo/branch_test.git

继续执行下面操作,完成一次push

~ touch README.md  // 创建readme.md文件
// 然后随便复制一个文件到本地仓库
~ git add .
~ git commit -m "test"
~ git remote // origin 
~ git push origin master

创建一个叫做fe_develop的分支

~ git branch fe_develop
// 查看所有分支
~ git branch

切换到branch分支

~ git checkout fe_develop

在gitlab中创建新分支fe_develop

对repository 中的代码稍作修改,然后完成一次push操作.

push之后在gitLab中可以看到有提示往master上合并的合并信息,点击合并,选择项目领导人,点击提交合并即可。

Paste_Image.png

Paste_Image.png

在gitlab登陆1832064870@qq.com, 在本地修改user和email,将项目clone到另一个地方

~ git config --global user.name "privacy5207"
~ git config --global user.email "1832064870@qq.com"
~ git clone git@gitlab.com:nicobo/branch_test.git

在主分支上修改文件,然后执行push操作

~ git add .
~ git commit -m "this is three."
~ git push origin master

为了防止错乱,普通开发者只能通过分支提交,然后由master决定是否合并到master分支上,因此,如果普通开发者错误的使用了master提交了,则需要回滚版本.

// 回到上一个版本
~ git reset --hard HEAD^
// 查看commit_id
~ git log --oneline
// 回到指定版本  ,一个commit_id代表一个版本
~ git reset --hard commit_id

然后切换到其他分支上add,commit,push.

常用执行指令操作请访问git and github