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

简介: git 的使用以及如何解决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是自己的仓库地址。

git clone https://gitee.com/angel521/hyrz-teacher
$ git clone (master)
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)。

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

2、新建分支并切换。

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

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

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

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

Git 冲突解决办法。

出现冲突:

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

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

查看冲突所在的文件:

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

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

删除后在提交。

相关文章
|
开发工具 git
Git|Git推送代码到远端时发现文件冲突,该怎么办?(一)
多人使用同一个远端仓库开发项目,这时候直接推送代码到同一远端仓库,然后就会出现一系列的文件修改冲突情况,接下来我们具体情况具体分析一下。本文的主要围绕着下面两种情况展开的,在阅读之前可以先自己思考一下问题的答案是什么?
562 0
|
2月前
|
开发工具 git
【Git】—— 解决分支合并冲突
【Git】—— 解决分支合并冲突
|
11月前
|
存储 缓存 运维
【运维知识高级篇】一篇文章带你搞懂Git!(Git安装+全局配置+Git初始化代码仓库+Git四大区域+Git四种状态+Git常用命令+Git分支+Git测试代码回滚)
【运维知识高级篇】一篇文章带你搞懂Git!(Git安装+全局配置+Git初始化代码仓库+Git四大区域+Git四种状态+Git常用命令+Git分支+Git测试代码回滚)
197 0
|
2月前
|
开发工具 git
git代码合并、git解决冲突的方法?
Git是一种分布式版本控制系统,它提供了多种方法来合并代码和解决冲突。下面是两个常见的场景以及对应的操作步骤:
78 0
|
开发工具 git
git 分支合并代码的四种方式
比如:功能分支位feat/village, 主分支是dev。我们要想将功能分支代码合并到主分支,那么我们首先就要切换到主分支。
5472 1
|
开发工具 git
git分支管理的策略和冲突问题
本文参考于廖雪峰老师的博客Git教程。依照其博客进行学习和记录,感谢其无私分享,也欢迎各位查看原文。 当两个分支修改同一个文件时,可能发生两个分支不能自动合并的问题,需要手动解决冲突(合并时...
123 0
git分支管理的策略和冲突问题
|
Linux 开发工具 git
【Git】3. Git重要特性-分支操作,合并冲突详解
【Git】3. Git重要特性-分支操作,合并冲突详解
【Git】3. Git重要特性-分支操作,合并冲突详解
|
缓存 开发工具 git
|
开发工具 git
【Git】Git 分支管理 ( 解决分支合并冲突 | 本地处理文件冲突 )
【Git】Git 分支管理 ( 解决分支合并冲突 | 本地处理文件冲突 )
293 0
【Git】Git 分支管理 ( 解决分支合并冲突 | 本地处理文件冲突 )
|
开发工具 数据安全/隐私保护 git
【Git】Git 分支管理 ( 解决分支合并冲突 | 推送主版本和分支版本到远程仓库 | 合并分支出现文件冲突 )(一)
【Git】Git 分支管理 ( 解决分支合并冲突 | 推送主版本和分支版本到远程仓库 | 合并分支出现文件冲突 )(一)
499 0
【Git】Git 分支管理 ( 解决分支合并冲突 | 推送主版本和分支版本到远程仓库 | 合并分支出现文件冲突 )(一)

热门文章

最新文章