Git协同开发工具随笔

  1. 协同开发工具(版本控制器)
    目前使用最广泛的就是svn和git
    主要作用:管理项目的版本,多人协同开发

  2. List item

  3. svn和git帮我们管理项目
    svn:集中式
    git:分布式

Git

参考站点:https://www.liaoxuefeng.com/wiki/896043488029600/896067008724000
git是目前世界上最先进的分布式版本控制系统

安装Git

初始化git :电脑桌面右键打开 Git Bash Here 命令窗口,然后输入下面命令:

在这里插入图片描述

创建版本库

初始化版本库:在要操作的文件夹下打开GBH命令行窗口,执行 git init 后会生成一个 .git 文件,说明成功了。
【注意】:如果你使用Windows系统,为了避免遇到各种莫名其妙的问题,请确保目录名(包括父目录)不包含中文。

版本库的管理:

  1. 把要上传的文件添加到缓存区:git add 文件全名(git add * 会把所以文件添加)

  2. 添加到版本库:git commit -m ‘注释’ 注释必须写

版本切换

  1. 查看仓库状态:git status : 查看文件是否被修改
    1. 修改文件之后通过git status查看会显示modified(红色)—>说明文件未提交
    2. 执行 git add 文件名 之后再次通过git status查看会显示 modified(绿色)—>表示提交到了缓存区,但是没有添加到版本库。最后执行 git commit -m ‘注释’ 之后再次通过git status查看会显示 没有可提交的
    3. git diff : 查看具体修改的内容:
    修改代码没有执行add和commit,此时通过 git diff 查看会显示出修改的内容。之后再提交到缓存区或者版本库 git diff 就不再监听。(回车认为删除)

  2. 历史

    1. git log : 查看历史提交版本(提交人,时间,注释,版本号)

    2. git log --pretty=oneline : 简化版的 git log (提交版本号,注释)

    3. git reset --hard HEAD^ :版本回退,一个^符号代表回退一个版本

    4. git reset --hard 版本号 :不小心回退到历史版本了,但是突然又不想回去了,执行这个命令

  3. 工作区 和 暂存区(缓存区)

    工作区:当前写的代码的目录
    缓存区:git add添加到缓存区
    版本库:git commit添加到版本库

    【注意】:可以多次add 一次性commit(可以多次通过 add 添加到缓存区,然后执行一次 commit 提交到版本库)

  4. 管理修改与撤销

    1. 单纯修改了文件,没有add也没有commit
      git checkout – 文件名 撤销刚刚的操作,撤销到提交的最后一个版本

    2. 修改了文件,并且执行了add,但是没有commit:

         先撤回add的操作:git reset HEAD 文件名
         再撤回文件修改:git checkout -- 文件名
      
    3. 修改了文件,执行了add和commit :

      此时只能执行版本回退了 git reset --hard HEAD^

  5. 删除文件

    1. 删除本地文件(add了但是没有commit):rm 文件名

    2. 删除仓库文件(add了并且commit):
      rm 文件名
      git rm 文件名
      git commit -m ‘删除了xx文件’

    3. 撤销删除(撤销的前提是缓存区或者版本库存在,只是本地没了;如果缓存区或版本库没有则无法恢复)

      1. 创建一个文件之后,提交到缓存区或版本库,此时如果通过 rm 文件名 将本地文件删除之后又想恢复文件,则可以通过执行 git checkout – 文件名 命令。
      2. 创建一个文件之后,此时如果通过 rm 文件名 将本地文件删除之后又想恢复文件,则无法恢复。

分支管理:

  1. 分支目前在使用过程中主要有两种方式:

    1. 子分支作为每个人的开发分支,目的是避免影响主分支及他人

    2. 子分支也可以做为一个标准的版本进行存储
      例子:github上swiper:2.x 3.x 4.x都是子分支

  2. 创建并切换到子分支:git checkout -b(branch 的简写) 分支名

    · 子分支就是复制了一份主分支的内容,开辟了一个新的空间进行存储,此空间就是子分支

  3. 切换到主分支:git checkout master(在子分支修改代码后添加到缓存区并且提交到版本库,然后切换到主分支再查看代码会发现代码并没有修改,每个分支互不影响)

  4. 合并分支:git merge 子分支名(前提必须先切换到主分支,再执行合并子分支命令)

  5. 删除子分支:git branch -d 分支名

  6. 查看分支:git branch(左边有一个*号,指当前)

  7. 创建子分支:git branch 子分支名

分支冲突解决:

版本库只能存在一个版本
版本冲突的实质就是同时操作一个文件

解决方法 :

  1. 选择保留双方更改

  2. 手动解决冲突,合并两个人版本,然后删除不要部分,最后add到缓存区,commit到版本库

  3. 为了避免冲突,大家还是要避免操作同一个文件

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

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值