git远程仓库
git远程仓库平台主要有GitHub和码云,GitHub用的最多,但由于国内墙的存在,所以GitHub速度比较慢,所以我们这里先使用码云来练习测试。
在码云上创建一个仓库
注册一个码云账户并登录,点击右上角的+号,开始创建仓库,步骤很简单,不在细说。
将本地仓库上传至远程仓库
主要有两种方式上传
- https
- SSH
使用https协议上传
由于https比较简单,所以我们先说一下https上传方式
-
添加远程仓库链接 git remote add origin 远程仓库的链接
例如 git remote add origin https://gitee.com/wuzekai0/test_git.git
其中
- origin是该远程仓库的别名,默认是用origin,当然你也可以自己起名
-
第一次上传前,由于远程仓库和本地仓库不一样,所以我们需要先使用如下命令,将远程仓库内容下载,并强制合并 git pull origin --allow-unrelated-historiesr master
其中
origin 是远程仓库别名master 是要下载的分支--allow-unrelated-historiesr 表示忽略历史的不同,强行合并 -
开始上传,使用如下命令 git push origin master
将master分支上传到远程仓库,如果你上传其他的分支,且远程仓库没有,那么远程仓库会自动新建 第一次上传时,需要输入码云的账号和密码,如下图 [外链图片转存失败,源站可能有防盗链机制,建议将图片保存下来直接上传(img-bc5h1hLP-1650185504603)(assets/image-20200628165246555.png)] 如果你不小心打错了,可以在windows的控制面板\用户帐户\凭据管理器 ,如下图 [外链图片转存失败,源站可能有防盗链机制,建议将图片保存下来直接上传(img-iJ97CKXA-1650185504604)(assets/image-20200628172028034.png)] 以上步骤都完成后就成功上传了,可以在远程仓库查看是否正确
使用SSH协议上传
-
使用以下命令生成 SSH Key: $ ssh-keygen -t rsa -C "youremail@example.com"
后面的 your_email@youremail.com 改为你在 码云上注册的邮箱,之后会要求确认路径和输入密码,我们这使用默认的一路回车就行。成功的话会在 ~/ 下生成 .ssh 文件夹,进去,打开 id_rsa.pub,复制里面的 key。 -
在码云的设置中,找到SSH公钥的,将自己的公钥粘贴上去 -
删除原来的origin远程仓库,命令如下 git remote rm origin
当然你也可以自己再新建一个远程仓库别名,用来作为SSH传输用 -
复制远程仓库的SSH链接,在本地新建一个远程仓库链接,命令如下 git remote add origin git@gitee.com:wuzekai0/test_git.git
-
开始上传,命令如下 git push origin master
第一次使用SSH会弹出一个提示,直接yes就可以了
从远程仓库下载
git clone
下载整个仓库到本地,命令语法如下
git clone 远程仓库地址 [本地目录]
**注意:**这里的远程仓库地址必须写URL,不能写远程仓库别名
如果本地目录缺省,则会在当前目录下,创建一个和远程仓库同名的文件夹,并将内容放在里面
git fetch
将远程仓库的某个分支下载到本地,不会合并,语法如下
git fetch 远程仓库名 分支名
例如
git fetch origin master
该命令会将远程仓库的某个分支下载到本地,并设定当前分支的FETCH_HEAD 指向该分支,要想查看区别和合并,使用如下命令
git log -p master.. origin/master
git merge origin/master
还有一种用法,命令如下
git fetch origin master:temp
该命令可以新建一个分支temp,将远程仓库的分支master下载到作为temp分支,推荐这样使用,比较直观
使用完后记得要删除temp分支
git branch -d temp
git pull
相当于fetch+merge,下载后直接合并,命令语法如下
git pull origin master
将origin上的master分支下载,并与当前分支合并
相比较而言,fetch更加安全,可以进行比较后再决定要不要合并
参考网址
|