本篇主要用来入门Git协作。
首先来熟悉一些团队协作涉及的基本命令。
如何查看当前仓库的远程连接情况?
可以通过remote命令来实现:
|
|
也可以只使用git remote
显示连接别名,这里是origin。
通过git remote rename <old> <new>
可以更改old名为new名。
通过fetch拉取的远程提交存放在什么地方?
执行命令:
|
|
拉取的信息被保存在.git下的FETCH_HEAD文件中,读取该文件:
|
|
可见该文件保存了远程仓库master分支的提交号。
如何合并fetch到的远程提交?
首先要确定合并到本地的哪一个提交,这一步可以使用git checkout <branch>
来实现,然后将fetch到的远程提交合并到该
|
|
要注意的是,git pull
通常相当于执行了git fetch
再执行git merge
,但一般不建议使用git pull
而是使用后者。
如何将git pull默认的merge改为rebase?
前面已经提到了,git pull
相当于git fetch
+ git merge
,如果希望merge更改为rebase,那么只要显式的调用git pull --rebase origin
即可,它表示拉取当前分支对应的公共仓库中的提交,然后并入当前分支。
git push origin serverfix:serverfix命令的意涵是什么?
progit-zh-v2.1.1.pdf里这样写道:“推送本地的serverfix分支,将其作为远程仓库的serverfix分支”,但是如果执行git push origin branch01:master
,会提示:
|
|
说明了你要推送的这个版本落后于服务器上的版本,如果非要推送,可以尝试添加-f
参数。
如何使用pull request参与一个项目?
首先,pull request是GitHub的一个功能,并非Git的特性,而同一个GitHub账号通过不同分支也能进行pull request,下面就来模拟一下。
新建一个分支名为pullrequestbranch,修改text01.md的内容,添加一行“Add pull request branch.”语句。将该分支推送到公共仓库,进入到该分支:
点击new pull request选项,然后撰写comment:
点击Create pull request,解决掉冲突后出现的画面:
点击Merge pull request后完成合并:
小结
本篇介绍了几个常用的写作命令,并用实践的方式尝试使用使用pull request参与一个项目。