2019/12/11 06-Git的Push和Clone

2019/12/11 06-Git的Push和Clone
**一般暂存区的东西是看不见摸不着的,远程仓库,本地仓库,工作区workspace,暂存区的东西可以撤销,可以后悔,现在目前的所有操作都是本地玩
add从工作区到暂存区,commit从暂存区到repository
刚才把文件整个移动到windows也能使用,挪回去使用要注意一下权限,只要有.git目录,里面存的所有元数据,怎么操作都可以,使用版本管理工具可以找到前一次的改动
几个开发可能会修改同一个文件,这时候不用版本管理工具就会乱套,checkout没有问题,就要release发布了 **

每个项目应该有不同的远程仓库的,现在就需要把本地仓库里的东西推上去,如何把本地仓库推到远程仓库,要push

现在把windows的弄回到linux里,先把linux的删除掉
2019/12/11 06-Git的Push和Clone2019/12/11 06-Git的Push和Clone
看看权限对不对
2019/12/11 06-Git的Push和Clone
git log里面都记录了 2019/12/11 06-Git的Push和Clone
reflog也没有问题2019/12/11 06-Git的Push和Clone2019/12/11 06-Git的Push和Clone
现在做几个配置,推需要改到远程的私服上,往上推一般都是要用户名验证的
2019/12/11 06-Git的Push和Clone
设置本地用户名和邮箱,其实保存在 ~/.gitconfig文件中2019/12/11 06-Git的Push和Clone
url跟名称建立对应关系,要不然url太长了
2019/12/11 06-Git的Push和Clone
这是之前自己创建的仓库
2019/12/11 06-Git的Push和Clone
建立一个名称和远程服务器的url建立关系,以后操作名称相当于链接url
add进去
会放在 .git/config
2019/12/11 06-Git的Push和Clone
401提示认证失败
2019/12/11 06-Git的Push和Clone
但是实际要把你当前登录的用户名提供,上次创建了两个账号,my和管理员2019/12/11 06-Git的Push和Clone2019/12/11 06-Git的Push和Clone
输入密码就提交上去了
2019/12/11 06-Git的Push和Clone
就把本地仓库和远程仓库同步了2019/12/11 06-Git的Push和Clone
8次提交历史都在这里2019/12/11 06-Git的Push和Clone
最后影响这个文件的是commit32019/12/11 06-Git的Push和Clone
只要有.git文件,里面所有信息,都要,clone到哪里都可以2019/12/11 06-Git的Push和Clone
我们最后用ssh连
2019/12/11 06-Git的Push和Clone
**配置文件有三个
/etc/gitconfig 是一个全局文件,对git的全局配置的,对所有使用git的用户都有影响,能不改则不改
~/.gitconfig,会放在当前用户的家目录下,是针对用户的
不同的文件夹可以做不同的初始化(一般都需要开发几个项目,就有不同的目录,放不同的.git目录)
.git/config .git是放在当前项目的根目录下,指影响当前项目
越离项目近的越优先 **
2019/12/11 06-Git的Push和Clone2019/12/11 06-Git的Push和Clone
push是管本地仓库到远程仓库里的
2019/12/11 06-Git的Push和Clone2019/12/11 06-Git的Push和Clone
origin是把当前分支推送到远程仓库上
2019/12/11 06-Git的Push和Clone
指定分支,推送到远程仓库上去
2019/12/11 06-Git的Push和Clone
指定分支推送到远程仓库,同时记录操作
2019/12/11 06-Git的Push和Clone2019/12/11 06-Git的Push和Clone
-U第一次以后记录,origin matser,下一次就可以直接git push了2019/12/11 06-Git的Push和Clone
从远程仓库克隆
2019/12/11 06-Git的Push和Clone
找到pro目录
2019/12/11 06-Git的Push和Clone
现在删除.git目录就不归git管了2019/12/11 06-Git的Push和Clone
现在把这个文件作为接纳克隆的东西2019/12/11 06-Git的Push和Clone
加入一个用户
windows win+r .就代表家目录

2019/12/11 06-Git的Push和Clone
信息就被覆盖了2019/12/11 06-Git的Push和Clone
下面准备使用ssh来访问
2019/12/11 06-Git的Push和Clone
第一次需要给自己创建一个key,ssh-key,现在在家目录2019/12/11 06-Git的Push和Clone
删除.ssh家目录
2019/12/11 06-Git的Push和Clone2019/12/11 06-Git的Push和Clone
现在不受git管理
2019/12/11 06-Git的Push和Clone2019/12/11 06-Git的Push和Clone
告诉你私钥公钥在哪里2019/12/11 06-Git的Push和Clone2019/12/11 06-Git的Push和Clone
就用这两个文件与服务器端进行通讯,这是生成当前操作系统用户的公钥和私钥
2019/12/11 06-Git的Push和Clone2019/12/11 06-Git的Push和Clone
把这个值复制一下2019/12/11 06-Git的Push和Clone2019/12/11 06-Git的Push和Clone
相当于把自己的**给了别人,来让别人识别是不是你2019/12/11 06-Git的Push和Clone
2019/12/11 06-Git的Push和Clone
只要**一样,说明是一个可信的人,就可以访问这些项目,点击复制链接
2019/12/11 06-Git的Push和Clone2019/12/11 06-Git的Push和Clone2019/12/11 06-Git的Push和Clone2019/12/11 06-Git的Push和Clone2019/12/11 06-Git的Push和Clone2019/12/11 06-Git的Push和Clone
现在就是clone完成了2019/12/11 06-Git的Push和Clone
项目来了
2019/12/11 06-Git的Push和Clone
test是项目目录2019/12/11 06-Git的Push和Clone
git log也没有少
2019/12/11 06-Git的Push和Clone
都是记录在.git目录里的
2019/12/11 06-Git的Push和Clone2019/12/11 06-Git的Push和Clone
现在拿到项目,把项目test作为根目录,开发完照样commit是没有问题的

2019/12/11 06-Git的Push和Clone