Git使用

1、为什么需要版本控制?个人开发过渡到团队协作

2、分布式版本控制系统(Git) VS 集中式版本控制系统(CVS、SVN、VSS)

  分布式:客户端提取的不是最新版本的文件快照,而是把代码仓库完整地镜像下来 (本地库) 。任何一处协同工作用的文件发生故障,事后都可以用其他客户端的本地仓库进行恢复

  集中式:都有一个单一的集中管理的服务器,保存所有文件的修订版本,而协同工作的人们都通过客户端连到这台服务器,取出最新的文件或者提交更新。‘

3、工作机制:本地(远程库的话再加个push

  

 

4、代码托管中心(远程库):局域:GitLab;网络:GitHub、Gitee

5、常用命令 

 

 

 6、版本穿梭

  主要是根据指针指向不同版本(版本号),从而进行版本穿梭

7、分支

  • 在版本控制过程中,同时推进多个任务,为每个任务,我们就可以创建每个任务的单独分支
  • 使用分支意味着程序员可以把自己的工作从开发主线上分离开来,开发自己分支的时候,不会影响主线分支的运行

  7.1:分支操作

  

 

  创建分支的时候已经备份了一份源码

 

  7.2:合并分支后,要注意合并的逻辑:

    不冲突:比如:从master分出的branch,然后git merge branch后,master会被branch覆盖,因为branch是从master分出去的。

    冲突:合并分支时,两个分支在同一个文件的同一个位置有两套完全不同的修改。Git无法替我们决定使用哪一个,必须人为决定新代码内容。

    这里的冲突和不冲突其实不太好理解,主要就是要注意执行的顺序

      当master commit之后,再创建branch,之后不动master,即使后面branch commit多少次,都是能成功合并的,不冲突。

      当master commit之后,再创建branch,之后master再modify,commit,branch也commit,这时就会冲突。

    合并要注意,原分支并不会删除,其实还是指针的变换

8、协作:

  8.1:团队内协作:push->clone->push->pull (小团队添加权限即可,这里只有一个库的运作)

  8.2:团队协作:fork->clone->push->Pull request->审核->merge->pull (跨团队则fork添加别人的库到自己的库上进行修改,这里有多个库的运作)

9、远程库

  

 

posted @ 2022-03-17 14:37  Jacky02  阅读(16)  评论(0编辑  收藏  举报