Git:版本控制工具

本文详细介绍了Git作为分布式版本控制系统的工作原理,包括其与集中式系统的区别,以及协同修改、数据备份、版本管理等关键概念。此外,还涵盖了Git的基本操作指令,如clone、push、pull等,以及如何在IDEA中处理推送冲突的方法。
摘要由CSDN通过智能技术生成

简介

Git是分布式版本控制系统,同时是内容管理系统、工作管理系统等,与Linux命令完全兼容。

与集中式版本控制系统(比如SVN)不同,Git是分布式的,可以通过Git从服务器上把完整的Git仓库克隆到本地。

优点

  • 协同修改
  • 数据备份
  • 版本管理
  • 权限控制
  • 历史记录

Git工作流程

将工作区的修改添加(add)到暂存区,暂存区的修改提交(commit)到本地仓库,本地仓库推送(push)到远程仓库。

clone是将项目全部从远程仓库拉到本地仓库,然后本地仓库检出(checkout)到工作区。

pull是将远程仓库中更新的部分拉取下来。

Git基础指令

一个项目对应一个工作区

所以每个项目需要创建单独的工作区(文件夹)

初始化本地仓库

指令:git init

创建一个版本库(隐藏文件夹) .git

查看状态

指令:git status

将工作区的修改添加到暂存区(add)

指令:

  • git add 文件名 添加某个文件到暂存区
  • git add . 将当前目录下所有文件添加到暂存区

配置邮箱和用户名

指令:

  • git config --global user.email "邮箱"
  • git config --global user.name "用户名"

提交到本地仓库(commit)

指令:

  • git commit -m ‘描述信息’ 将文件从暂存区提交到本地仓库
  • git commit -a -m '描述信息' 将文件从工作区添加到暂存区再提交到本地仓库(提交过一次后可以使用,即用于提交跟踪过的文件)

查看日志

指令:

  • 详细显示:git log
  • 简化日志:git log --pretty=oneline(有完整的版本号)
  • 简短日志:git reflog(有较短的版本号)

删除文件

指令:git rm 文件名

被删除的文件会添加到暂存区

版本前进|回退

指令:git reset --hard 版本号(局部版本号)

通过恢复到指定版本,可以恢复被删除的文件。

远程仓库操作

Gitee,码云,国内目前最大的代码托管平台,近几年国内开发者的首选。

创建远程仓库

可使用两种方式,https协议SSH协议

1.使用仓库的https协议

将本地仓库的内容推送到远程仓库时,需要输入远程仓库的用户名和密码。

出现用户名密码输入错误,再使用时还会使用之前的用户名密码,可在控制面板中删除记录。

2.使用仓库的SSH协议

将本地仓库的内容推送到远程仓库时,不需要输入用户名和密码。

需要生成公钥和私钥,将公钥配置在远程仓库中。

推送到远程仓库

1.设置全局用户名和邮箱

2.将工作区的修改提交到本地仓库

3.设置远程仓库地址 git remote add origin 仓库地址

4.将本地仓库主分支的内容推送到远程仓库主分支中 git push -u origin master

-u 可建立本地分支与远端分支的关联关系

可使用 git branch -vv 查看本地分支和远程分支的关系

两个分支为关联状态后,将本地仓库内容提交到远程仓库可直接使用 git push

克隆远程仓库到本地

指令:git clone 远程仓库地址

如果使用的是https的地址,允许被克隆可直接克隆。

如果使用的是SSH的地址,则gitee必须配置本地git的公钥。

分支

在版本控制过程中,使用多条线同时推进多个任务,每条线成为一个分支。多个分支同时推进,且各个分支互不影响。

常见分支

默认只创建主分支,可以创建其他分支。

1.Master:主分支

2.Develop:开发分支

3.Release:预发行分支

4.Features:功能分支

5.HotFix:Bug修复分支

分支指令

1.查看分支 指令:git branch

2.创建分支 指令:git branch 分支名

3.切换分支 指令:git checkout 分支名

4.推送本地分支到远程 指令:git push origin 本地分支名:远程分支名

前提:和远程仓库是连接状态

5.合并分支 指令:git merge --no-f 分支名(把指定分支内容合并到当前分支)

切换到主分支,合并其他分支。(其他分支不能合并主分支)

6.删除本地分支 指令:git branch -d 分支名

不能删除所在分支,需切换其他分支再删除。

7.删除远程分支 指令:git push origin --delete 远程分支名

IDEA操作Git

推送产生冲突问题

远程仓库发生了修改,用户向远程仓库推送时,会弹出提示

1.没有冲突时

可以选择:

(1)直接推送到远程仓库并合并(Merge)

(2)将远程仓库修改的内容拉取(pull)到本地仓库,再重新推送(push)到远程仓库

2.产生冲突

原因:两个人修改了同一区域的代码,一人已提交到远程仓库,另一人未拉取最新版本且将修改后的代码推送到远程仓库,产生冲突。

预防:修改代码前拉取(pull)代码

解决:合并(Merge)时可一起参考自己的代码、他人的代码、修改前的代码这三个版本,在Result代码区域修改完成后应用(Apply)。

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

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值