明确一点:GitHub一定是与Git搭配使用的
克隆: git clone [远程库地址] (会把远程库的东西全部clone到当前本地库)
克隆操作的执行效果:
但最好还是手动起别名和初始化
Git本地clone下别人的文件,并修改后,若是想push到远程库(客人)
条件是:你是远程库的所有者并登录GitHub账号;或者你被邀请成为团队成员。
所以在push时登陆自己的GitHub账号,会检验当前账号有没有权限
区别:fetch只会获取远程库中的文件,并不会覆盖本地库中的文件;
merge会使用从远程库获取的文件作为本地库文件;
pull = fetch+merge。
fetch用于查看从远程库获取的文件内容,决定之后再merge,
fetch的文件查看:git check out orgin/master
,切换分支进行查看
冲突发生原因:团队的不同成员修改了同一版本的文件,有人先进行了push,而有人后进行push,后push会失败。
简言之就是:如果不是基于 GitHub 远程库的最新版所做的修改, 不能push。
解决办法:
后push的人必须先从远程库pull下来最新的版本,
最新版本的文件会与本地版本的文件合并,文件中会生成特殊符号来标识差异内容
修改本地文件,并再次push,push不要带文件名
git add filename
git commit -m "resolve conflict"
不同于团队成员邀请,团队以外人员只能操作远程库的副本,不能直接push到团队的远程库
首先需要两个账号,团队Team、个人A
操作流程:
我们在进行push的时候,总是需要输入GitHub的账号+密码,使用SSH登陆可以简化push
Git在推送
$ cd ~
$ rm -rvf .ssh
$ ssh-keygen -t rsa -C xxxxxxxxxxx@qq.com
? [注意: 这里-C 这个参数是大写的 C]
进入.ssh 目录查看文件列表
$ cd .ssh
$ ll
查看 id_rsa.pub 文件内容,并复制 id_rsa.pub 文件内容
$ cat id_rsa.pu
登录 GitHub, 点击用户头像→Settings→SSH and GPG keys
New SSH Key
输入复制的密钥信息
回到 Git bash 创建远程地址别名
git remote add origin_ssh git@github.com:atguigu2018ybuq/huashan.git
推送文件进行测试
原文:https://www.cnblogs.com/sout-ch233/p/12720403.html