git学习笔记二

续集…
git学习笔记一讲述了如何推送到本地仓库,接下来讲讲如何使用远程仓库(Remote) ,以github为例

一.什么是远程仓库

远程仓库是指托管在因特网或其他网络中的你的项目的版本库。 你可以有好几个远程仓库,通常有些仓库对你只读,有些则可以读写。 与他人协作涉及管理远程仓库以及根据需要推送或拉取数据。 管理远程仓库包括了解如何添加远程仓库、移除无效的远程仓库、管理不同的远程分支并定义它们是否被跟踪等等

二.具体流程

1.添加SSH公钥

为什么要添加公钥?Git使用https协议,每次pull, push都要输入密码,比较麻烦。
使用git协议,然后使用ssh密钥。这样可以省去每次都输密码。
1)进入C:\Users\86195.ssh目录(默认位置是在C:\Users\Administrator.ssh)
2)生成公钥

$ ssh-keygen -t rsa

在这里插入图片描述
3)将公钥信息public key添加到码云账户即可

在这里插入图片描述

在这里插入图片描述
在这里插入图片描述

添加成功
在这里插入图片描述

2.使用gitHub创建自己的仓库

1)
在这里插入图片描述
2)
在这里插入图片描述
3)
在这里插入图片描述

3.关联远程仓库

如果我们已经有了一个名为git-study本地仓库,和一个同名的远程仓库,应该怎么关联呢?
1)复制远程仓库的ssh
在这里插入图片描述
2)使用命令进行关联
在这里插入图片描述
查看远程库信息
在这里插入图片描述
删除已有的GitHub远程库

$ git remote rm origin

3)创建分支

为什么要创建分支?

假设你准备开发一个新功能,但是需要两周才能完成,第一周你写了50%的代码,如果立刻提交,由于代码还没写完,不完整的代码库会导致别人不能干活了。如果等代码全部写完再一次提交,又存在丢失每天进度的巨大风险。
现在有了分支,就不用怕了。你创建了一个属于你自己的分支,别人看不到,还继续在原来的分支上正常工作,而你在自己的分支上干活,想提交就提交,直到开发完毕后,再一次性合并到原来的分支上,这样,既安全,又不影响别人工作。

  • 创建并切换到该分支
    在这里插入图片描述
    git checkout -b dev 相当于 git branch dev(创建) 和git checkout dev(切换)
    -查看已存在分支
    在这里插入图片描述
  • 当完成工作合并到主分支master,先切换到主分支master
$  git checkout master
$ git merge dev
  • 合并后可以删除dev
$ git branch -d dev

补充:
最新版本的Git提供了新的git switch命令来切换分支:

#创建并切换到新的dev分支,可以使用:
$ git switch -c dev
#直接切换到已有的master分支,可以使用:
$ git switch master

4)将本地仓库的内容推送到github上

$ git push origin HEAD:分支名

5)在远程仓库拉取最新代码

git pull origin master #拉取到本地仓库的master分支上 

三.多人合作

1.Fork

一般由项目组长建立代码的主仓库,剩余小组开发人员首先要对其仓库进行Fork,就是从主仓库将项目复制一份到自己的仓库,之后再进行clone到本地仓库。
1.)找到要fork的仓库,点击fork
在这里插入图片描述
2)Fork完,自己的远程仓库会出现

在这里插入图片描述
3)克隆到本地
在这里插入图片描述

$ git clone git@github.com:cylcylc/Codeginiter-with-Bootstrap-MaterialDesign.git #git clone ssh:你的地址
2.添加远程仓库

1)关联自己的gitHub仓库

$ git remote origin add git@github.com:cylcylc/Codeginiter-with-Bootstrap-MaterialDesign.git

2)将项目组长所建立的主仓库(你fork的仓库)添加进来
origin表示自己的仓库地址,upstream是主仓库的地址
在这里插入图片描述
主仓库已经被添加进来
3)创建分支
当我们看开始工作了,不要直接开敲,先pull一下主仓库保证代码最新,之后再新建一个分支,自己的代码提交到这个分支上

  • 拉取主仓库代码
    在这里插入图片描述
  • 创建分支
$ git checkout -b dev

接下来就可以开始你愉快的敲代码之旅了

3.stash
  当你开发完功能之后,或者这一天结束了,想要提交代码了,这个时候你要明白一件事,你们是合作开发,主仓库的更新速度是要比你的快的,也就是说很多情况主仓库的代码都是要比你的新,所以你要先pull 主仓库的代码。但是直接pull代码可能会直接带来冲突,所以在此之前你需要提交或者将代码放入暂存区stash,这里我推荐放到暂存区里面保管:
  • 保存到暂存区
$ git stash save " save message"  
  • 拉取最新代码
$ git pull upstream master
  • 从暂存区拿出
$ git stash pop

补充:

git stash list   #查看stash了哪些存储
git stash show   #显示做了哪些改动
git stash apply  #将某个暂存取出,git stash apply stash@{$num}
git stash drop stash@{$num}  #丢弃stash@{$num}存储,从列表中删除这个存储
git stash clear #删除所有缓存的stash
4.提交和推送
  • . 添加
$ git add .  #这里的点是全部修改内容,或者自行选中单个文件
  • 提交
$ git commit -m "描述提交信息"
  • 推送
git push origin HEAD:分支名称

注:如果远程仓库没有改分支,会自动创建该分支

5.提交PR( Pull requests)

当自己的功能完成,可以向主仓库提交分支合并请求
在这里插入图片描述
当时pr的时候忘截图了,借用一下另一个同学的图,哈哈哈

四.补充

  • star 的作用是收藏,目的是方便以后查找。

  • watch 的作用是关注,目的是等作者更新的时候,你可以收到通知。

  • fork 的作用是参与,目的是你增加新的内容,然后 Pull Request,把你的修改和主仓库原来的内容合并。

完结

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值