Git中存在两种类型的仓库,即本地仓库和远程仓库。那么我们如何搭建Git远程仓库呢?我们可以借助互联网上提供的一些代码托管服务来实现,其中比较常用的有GitHub、码云、GitLab等。
主要步骤:
1. 创建本地项目
创建一个 Git 目录,执行git bash here。
进行初始化操作:执行完初始化后,会在该目录生成 .git目录。
执行以下两行代码:设置局部用户签名和邮箱,全局的需要在config后加 - - global
git config user.name "powerfulDN"
git config user.email "[email protected]"
2.提交代码到本地库
git add love.txt
git commit -m "love form zhangsanatguigu" love.txt
3. 登录账号到github,创建远程仓库
填写创建仓库信息
创建后出现仓库地址,注意:点一下HTTPS,换下地址。
4.本地项目推送到远程库 GitHub上
给网址添加别名
在 .git 中的config 文件中就会增加此网址。
然后执行 ogit push <远端代号> <本地分支名称>
5. 从GitHub上克隆一个项目
登录其他GitHub账户,搜索用户,获取仓库连接
新创建个文件夹gitFirst,在文件夹中开一个 Git Bash Here
6. 修改信息
克隆下来的工程没有账户信息,需要自己在创建一个用户,但是不需要初始化了。
创建用户,发现并不能创建,原因是你不在 .git 路径下执行,
切换到 .git目录,在创建用户和邮箱。
7. 编辑文件,保存到暂存区,在保存到本地库。
在上传或同步代码时,由于你和他人都改了同一文件的同一位置的代码,版本管理软件无法判断究竟以谁为准,就会报告冲突,需要程序员手工解决。
首先,两个用户有用相同的版本工程,第一用户修改了工程并提交。
代码如下:
第二个用户也修改了相同的文件并提交到远程仓库。
出现错误,版本冲突问题,解决办法如下:
出现错误的用户先pull(拉下来)就会有冲突,合并冲突,再push,OK
合并冲突之后,在再本地提交到本地仓库。
注意提交到本地仓库时是提交全部文件 git commit -m “提交说明” ,不能提交单独的文件了。如下所示:
提交结果如下:
而冲突解决完后,主用户只需要执行 git pull 工程路径 分支名称 即可
例如:git pull origin master
现在的情景是,用叉子把别人的东西(copy no cut)叉到你的碗里~
就是把别人的项目clone一份,但是owner变成自己,这样你就可以在遵守Open source license的前提下任意修改这个项目了。
相当于你在原项目的主分支上又建立了一个分支,你可以在该分支上任意修改,如果想将你的修改合并到原项目中时,可以pull request,
这样原项目的作者就可以将你修改的东西合并到原项目的主分支上去,这样你就为开源项目贡献了代码,开源项目就会在大家共同的努力下不断壮大和完善。
第三方账号登录(wangwu),搜索某账号找到某项目(zhangsan),然后点击Fork按钮,这样就将该项目克隆一份到当前账号(wangwu)内,然后进行修改,提交pull request,告诉对方(zhangsan)已经修改了,请求合并;
当前用户登录(zhangsan)后,可以看到小铃铛中的消息提醒,查看到pull request,然后,选择合并或拒绝。
执行步骤:以zhangsan,wangwu 为例
① [wangwu]获取[zhangsan]的项目URL
③[wangwu]修改项目文件.(可以pull本地后修改,也可以在github上直接进行修改.)
④[wangwu]-> [New pull request]
⑤[wangwu]->[Create pull request]->[填写pull request信息]
⑥分支已提交到主分支
⑦[zhangsan]和[lisi]都可以看到[wangwu]提交的项目内容.
⑧[zhangsan]合并项目,点击[Merge pull request]->点击[Confirm merge]
⑨[zhangsan]查看项目代码,合并完成,OK