• git 的使用以及如何解决git冲突问题


    目录

    1、集中版本控制---svn

     2、git ---分布式版本控制工具    修改之后提交到本地

    3、git仓库的使用

    4、解决git冲突

    1、集中版本控制---svn

    优点:1、很好的做权限管理。

    缺点:1、如果没有做特别的备份,磁盘坏掉数据就没了。

               2、离线状态、无法进行提交操作。

     2、git ---分布式版本控制工具    修改之后提交到本地

    优点:离线可以提交代码,代码冗余度(有一好就可)比较高。

    缺点:存储加大,目录级别的权限不好管理。

     git的基本使用(以下命令需要在git仓库文件夹下面操作)

    1、git init   :进入git仓库,初始化仓库(把一个普通文件夹变成git仓库),使用git命令去管理(同目录下多出一个.git文件夹)

    2、git add  文件名/git add --all 添加文件到追踪暂存区。

       git add aa(git追踪文件)提交的是追踪的文件

    3、git status 查看当前git仓库的修改文件的状态,哪些修改文件追踪了,哪些文件没有被追踪。

    4、git commit -m “xxx” 提交本次修改到历史版本。xxx是对这次提交的说明。

    5、git log 查看历史版本记录   

          git log -p 是查看详细提交代码

         ①git log 查看版本 ②enter键 ③增加second commit second commit

    6、git reset 562b04176d98a8900dfeace8e330dedf24cf1be2 --hard 回滚到指定版本

           其中562b04176d98a8900dfeace8e330dedf24cf1be2 是版本号 #回滚之后再 git push origin master上去。

    7、git reflog 记录每次提交的版本号

    8、git remote add origin xxx  添加别名()映射,将远程仓库地址xxx。

    9、git remote -v 查看当前有哪些别名映射。

    10、git remote delete origin 删除origin别名映射。

    11 、git pull origin master 拉取远程origin仓库的内容到本地仓库。

    12、git push origin master 推送本地仓库的历史版本到远程仓库。

    13、git push origin master -f 强制推上去

    例如:

    创建文件aa  提交文件;

    git commit -m “test”:提交的文件只是用于测试。

    3、git仓库的使用

    将一个远程仓库拉取下来,并在本地仓库修改,然后推送本地仓库版本到远程仓库中。

    1、在gitee页面上fork远程仓库

    2、把自己的远程仓库拉取下来

    git  clone xxx :xxx是自己的仓库地址。

    1. git clone https://gitee.com/angel521/hyrz-teacher
    2. $ git clone (master)
    3. cd hyrz-teacher

    3、添加对远程仓库的别名映射。

     git remote add origin3 xxx(xxx 是远程仓库的地址)

    4、查看仓库别名映射

    git remote -v 

    5、上传文件、作业的流程

    a、拉取远程仓库的最新内容

    git  pull  origin3 master   origin3是远程仓库

     b、在homework目录下(cd homework/),寻找跟日期同名的文件夹(cd 2022-03-04-git作业/),在这下面创建你自己名字的同名文件夹(mkdir angel),然后将你写的代码文件复制到这下面来。

     c、git add --all     :添加文件到追踪暂存区

    d、git commit -m “xxx”    提交本次修改到历史版本中

    git commit -m "today" 提交本次修改到历史版本中,today可随意命名。

    e、git push origin master    :将历史修改到远程仓库 单纯拉取也需要push。

    f、在页面上创建pull request ,等待远程仓库同意。

    4、解决git冲突

    git冲突:两个本地仓库同时修改文件夹会产生冲突。

    分支:master主分支 每个都会在自己本地产生dev(develop)分支和master分支,在dev分支中修改代码,dev分支修改完成测试完成之后就合并到master分支,到master分支生效。

    合并分支之后会有冲突产生(有两个角色同时修改了文件)。

     

    1、首先找到并进入一个分支(master)。

    1. Administrator@PC-201911211239 MINGW64 /d/hyrz (master)
    2. git branch -v

    2、新建分支并切换。

    1. git checkout -b dev(切换到dev)
    2. git branch -v
    3. ls
    4. touch aa 创建文件
    5. git add --all添加文件到追踪暂存区
    6. git commit -m "add aa"提交本次修改
    7. git log
    8. git checkout master 切换分支到maste
    9. ls
    10. git checkout dev
    1. Administrator@PC-201911211239 MINGW64 /d/hyrz (master)
    2. $ git merge dev合并dev分支到master(在master中进行)

     解决冲突的两种方式:自动解决 和人工解决。

    自动解决:修改的地方内容不一样,

    人工解决:同时修改一个地方的内容,自动解决不了,需要人工解决。

    Git 冲突解决办法。

     出现冲突:

    1. Auto-merging learn_code/2021-11-23-python异常处理/01.python异常处理.py
    2. CONFLICT冲突 (content): Merge conflict in learn_code/2021-11-23-python异常处理/01.python异常处理.py

     自动合并失败 需要手动解决冲突

    查看冲突所在的文件:

     标红的位置就是冲突所在位置

    用===========隔开的两部分只能留下一部分 

    删除后在提交。

  • 相关阅读:
    automake搭建项目工程
    【C++初阶(四)aoto关键字与基于范围的for循环】
    第2节 volatile 关键字内存可见性
    Spring工具类--AnnotatedElementUtils的使用
    《从零开始的Java世界》03面向对象(进阶)
    很烦的Node报错积累
    Redis(4)数据类型
    【JavaWeb】 Mybatis-02-Mybatis的快速入门
    九、T100月加权成本次要素分析篇
    MySQL之复制(三)
  • 原文地址:https://blog.csdn.net/m0_52165864/article/details/126474357