添加远程库及推送
命令:git remote add 地址名 HTTP或SSH地址
执行完后,如以下页面
推送命令:git push 地址名 分支名
,执行后报错
因为git在拉取或者提交项目时,中间会有git的http和https代理,但是我们本地环境本身就有SSL协议了,所以取消git的https代理即可,不行再取消http的代理。
取消指令为:
取消http代理git config --global --unset http.proxy
取消https代理git config --global --unset https.proxy
也可以直接用ssh地址,设置ssh协议的方法可参考这里
然后查看远程库,即可发现文件
克隆远程库到本地
命令:git clone 克隆地址
,克隆地址为下(克隆不需要再初始化)
操作如下
克隆的三个操作
- 完整的把远程库下载到本地
- 创建origin远程库地址别名
- 初始化本地库
推送本地库到远程库
命令:git push 远程库地址别名 分支名
(前提是,发出提交的Github账户在该团队内,邀请在GitHub内进行)
邀请加入后
这里仍然要用ssh协议
内容推送上去后,远程库内容改变
拉取远程库到本地库
然后切换另一编辑者,也就是库的创建者
执行抓取操作:git fetch 地址别名 分支
抓取下来后可看到,本地库文件并没有改变
切换分支:git checkout 地址别名/分支名
可看到,内容已经改变(多了一行g)
然后要将远程库合并到本地库就要切换到master分支,然后执行:git merge 地址别名/分支名
以上适用于需要检查代码的情况,比较麻烦
若是追求简单,则可直接执行:git pull 地址别名 分支名
同样可拿到远程库内容
总结:push=fetch+merge
推送时的矛盾
若两个人同时对远程库进行推送,则推送晚者不能推送,只能拉取最新的库,然后再进行修改、推送
冲突页面如下
拉取远程库文件
打开冲突的文件
删去多余行目,然后提交到本地库
然后再推送到远程库
这种机制的目的避免了推送混乱