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

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

查看冲突所在的文件:

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

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

删除后在提交。

相关文章
|
1月前
|
开发工具 git
如果使用git产生了冲突,你是怎么解决的?
在团队开发中,若多人同时修改同一代码位置,拉取时可能会产生冲突。解决冲突需及时与同事沟通确认问题,并使用IDEA等工具进行版本对比,选择合适代码保留。解决步骤包括:查看冲突文件、删除多余代码及标记、使用git add标记冲突已解决、最后git commit提交修改,必要时git push推送更改。
55 6
|
2月前
|
数据可视化 开发工具 git
如何解决 Git 版本控制系统中冲突的问题?
在Git版本控制系统中,冲突是指在合并或拉取操作时,两个或多个开发者对同一文件的同一部分进行了不同的修改,导致Git无法自动确定应该采用哪种修改。
46 1
|
4月前
|
IDE 开发工具 git
git如何解决冲突|4-19
git如何解决冲突|4-19
|
8月前
|
存储 开发工具 git
Git 教程:解密 .gitignore 文件、合并分支、解决冲突、及 Git 帮助
如果你忘记了命令或命令的选项,你可以使用 Git 帮助。 在命令行中,有几种不同的使用帮助命令的方式: git command -help - 查看特定命令的所有可用选项 git help --all - 查看所有可能的命令 让我们看看不同的命令。
257 3
|
8月前
|
开发工具 git
【Git】—— 解决分支合并冲突
【Git】—— 解决分支合并冲突
|
8月前
|
开发工具 git
git代码合并、git解决冲突的方法?
Git是一种分布式版本控制系统,它提供了多种方法来合并代码和解决冲突。下面是两个常见的场景以及对应的操作步骤:
133 0
|
开发工具 git
04-git-解决冲突与异常
04-git-解决冲突与异常
|
程序员 开发工具 git
【Git】Git的分支操作
【Git】Git的分支操作
205 0
|
开发工具 git
git 分支合并代码的四种方式
比如:功能分支位feat/village, 主分支是dev。我们要想将功能分支代码合并到主分支,那么我们首先就要切换到主分支。
5856 2
|
缓存 开发工具 git