最近准备参加腾讯犀牛鸟开源计划项目,期间涉及Git的使用,就顺便复习并巩固一下基本内容,再学习一下如何参加开源项目。
基础教程强烈推荐廖雪峰老师的git教程,知识点讲的很细,还有操作场景和操作视频链接: https://www.liaoxuefeng.com/wiki/896043488029600
操作记录:
与远程的协作方式:
已经创建远程仓库
方法一:
git init 初始化仓库
git remote add origin url 添加远程仓库地址
git pull origin master (注意:自己创建仓库再上传远程一定要将远程仓库中内容先合并到本地分支!!!!!!!!才能执行后面操作,否则push失败,因为本地的初始化.git与远程的不一致!!且origin master不能省略)
… …
git add .
git commit -m
git push origin master (注意:origin master 不能省略)
方法二:
git clone url将远程仓库克隆到本地
… …
git add .
git commit -m
git push
(采用方法二直接克隆仓库会简化很多步骤,比如不用添加remote地址,默认的就是clone的地址,而且push的时候也会按默认地址push)
fork Github官方仓库
fork官方仓库到自己的仓库下:因为我们没有权利直接对官方的仓库进行修改,所以要fork到自己的仓库下(相当于复制),然后我们就可以对自己仓库下的内容进行修改。
fork完之后,我们就需要将项目克隆到本地,然后既可以进行修改
修改并上传
(1)git add . 把项目的所有变化提交到暂存区
(2)git commit -m “注释提交说明” 将暂存区里的改动给提交到本地的版本库(实际上就是把暂存区的所有内容提交到当前分支。)
(3)git push origin master 将修改后的项目推送到仓库项目中
注意:1、要关联一个远程库,使用命令git remote add origin git@server-name:path/repo-name.git;
关联一个远程库时必须给远程库指定一个名字,origin是默认习惯命名;
(亲测:如果是gitclone的项目就不用设置这一步了,默认你从哪里clone的,远程地址就是哪,可用git remote -v查看地址)
2、当远程仓库是空的时候,要用命令:git push -u origin master
此后,每次本地提交后,只要有必要,就可以使用命令git push origin master推送最新修改;
合并到master分支(可选)
为什么我们要创建分支?
其他分支不影响master主分支的运行。
假设你准备开发一个新功能,但是需要两周才能完成,第一周你写了50%的代码,如果立刻提交,由于代码还没写完,不完整的代码库会导致别人不能干活了。如果等代码全部写完再一次提交,又存在丢失每天进度的巨大风险。
现在有了分支,就不用怕了。你创建了一个属于你自己的分支,别人看不到,还继续在原来的分支上正常工作。而你在自己的分支上干活,想提交就提交,直到开发完毕后,再一次性合并到原来的分支上,这样,既安全,又不影响别人工作。
eg:开发某个后台商城系统(主分支master),假如要开发前端和后端,可以直接创建两个分支(前端:front,后端back),由两个不同的人分别开发。开发后端的人假如要开发两个模块:购物车和订单,那么也可以本地再创建两个本地分支(购物车:store,订单:list),当我们在store分支上开发完购物车功能之后,就可以切换到list分支开发订单功能。当购物车和订单功能开发完之后,将store和list分支合并到back分支,同理前端人员也是一样。最终将front分支和back分支合并,就完成了整个项目的合作开发。
创建自己的分支:
注:如果本地是直接在master分支上进行操作的,这一步可以不用做。
(1)选择需要合并的分支及仓库
(2)点击" Create pull request “创建一个新的pull请求
(3)点击” Merge pull requet "合并pull请求
(4)回到项目主页面可查看到合并后的提示(到此您已经完成了项目的fork更新)
将fork的项目修改提交请求等待源项目管理员合并
(1)点击 Pull request
(2)创建一个新的 pull request
(3)选择好提交位置,点击“Create pull request” 创建一个pull请求
(4)填写请求描述,确认请求
(5)提交成功,等待源作者合并
这片文章以简书上看到的,我加了一些自己的想法,作者有详细的操作步骤和截图说明
原文连接:链接: https://www.jianshu.com/p/7bf8104e55d8