刚刚接触GIT,看了廖雪峰的GIT教程感觉茅塞顿开。不过还一些问题想问下?
需求:
需要定期从github上更新一个开源项目(PHP)代码,只要这个开源项目的作者提交了项目更新。我可能就需要更新到我本地项目中来,不过这个项目作者每月基本才会更新一次,频率不会太高。我自己每天都会在本地项目中开发我自己的需求,这些新开发的需求只是我自己使用,不需要再次上传到这个开源项目中去。也不需要在本地和其他人共同开发项目!
疑问:
第一次git clone这个项目后,然后每月去GITHUB上看看作者有无提交新的更新,如果有就更新下来。我在本地开发新需求时是不是只要及时把这些新修改commit到本地master分支中,如果GIThub上有更新,我就git pull到本地master分支中与我自己提交的修改合并,并解决两者代码冲突问题即可?这样的流程是不是正确的?因为我看到了分支功能,在想是不是在每次git pull后,本地再建立一个开发分支,然后在分支上开发,开发完了再继续合并到本地master主分支上去。好像两种思路都是差不多?
如果是这样的流程,我是不是只要会git的一些简单操作即可?如文件合并、冲突解决、代码回滚,还要了解GIT的那些知识?感觉GIT的水太深了
你可以先按自己的操作来就行了,毕竟刚接触,慢慢再了解更多。
正确姿势应该是fork到你自己的github,你自己开发的内容可以全部推到这个仓库,不影响他开源的仓库,然后你可以在不同电脑上开发,而不局限于一台电脑(这样也更安全,大大降低代码丢失的风险)。
你的本地仓库可以关联两个远程仓库,默认关联一个是origin,就是你clone的远程仓库(如果你直接clone别人的,那就是别人项目的地址),你需要再关联自己的仓库就可以了。
具体步骤:
1.他的开源项目上fork项目到你自己的github。
2.如果没有clone到本地,就clone自己的项目到本地,并添加两个远程。
添加远程仓库的指令为:
这样添加的远程仓库名就是source而不是origin。
这里可以把你自己的仓库设为origin(习惯远程就是这个名字),而他的仓库叫别的名字,比如就叫source,那完整的指令:
3.开发步骤
正常开发commit到本地后,推到自己的仓库。
当你需要合并原作者的开发内容时,