01—Git

这篇具有很好参考价值的文章主要介绍了01—Git。希望对大家有所帮助。如果存在错误或未考虑完全的地方,请大家不吝赐教,您也可以点击"举报违法"按钮提交疑问。

概述

在开发中可能遇到这些场景

① 小明负责的模块就快要完成,就在即将保存备份的时候,电脑突然蓝屏了,工作又得重新做

② 项目需要实现一个复杂的功能,小王摸索了一个星期终于有眉目,但是代码已经被改的面目全非,回不到过去

③ 一个类出现了BUG,但是经理发现有好几个人都修改过这个类,无法定位到这个BUG是谁造成的

为了解决以上这些类似的麻烦,版本控制器诞生了

集中式版本控制器(SVN和CVS)。版本库是集中存放到中央服务器,团队的每个人工作时从中央服务器下载代码,是必须联网才能工作,局域网或者互联网。个人修改后提交到中央版本库。

01—Git,项目管理,git,java,后端

分布式版本控制器(Git)。分布式版本控制系统没有“中央服务器”,每个人的电脑上都是一个完整的版本库,这样工作的时候,无需联网,因为版本库就在自己的电脑上。多人协作只需要各种的修改推送给对方,就能互相看到对方的修改了。

01—Git,项目管理,git,java,后端

安装与配置 

下载地址:https://git-scm.com/download 

01—Git,项目管理,git,java,后端

01—Git,项目管理,git,java,后端下载完成后打开安装包,一直下一步即可

安装完成后打开一个文件夹,右键如果可以看到这两个选项说明Git安装成功

  • Git GUI Here Git提供的图形界面工具
  • Git Bash Here Git提供的命令行工具 

Git基本配置

使用Git命令行工具,设置用户信息

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

# 查看配置信息
git config --global user.name
git config --global user.email

解决GitBash乱码问题

第一步打开GitBash执行下面的命令

git config --global core.quotepath false

第二步在Git的安装目录下的etc文件夹下面找到bash.bashrc文件最后加入下面两行

export LANG="zh_CN.UTF-8"
export LC_ALL="zh_CN.UTF-8"

为常用指令配置别名(可选)

有些常用指令参数非常多,每次都输入好多参数,可以使用别名进行代替

打开用户目录,创建 .bashrc 文件 

部分Windows系统不允许用户创建点号开头的文件,可以打开GitBash执行 touch ~/.bashrc

在 .bashrc 文件中输入如下内容

# 用于输出git提交日志
alias git-log='git log --pretty=oneline --all --graph --abbrev-commit'
# 用于输出当前目录所有文件及基本信息
alias ll='ls -al'

01—Git,项目管理,git,java,后端

基础指令

准备本地仓库

要使用Git对代码进行版本控制,首先需要获得本地仓库

  •  在电脑的任意位置创建一个空目录(例如test)作为我们的本地Git仓库
  • 进入这个目录中,点击右键打开Git Bash窗口
  • 执行命令 git init
  • 创建成功后可以在文件夹中看到隐藏的 .git 文件夹

Git工作目录对于文件的修改(增加、删除、更新)会存在几个状态,这些修改的状态会随着执行Git命令而发生变化

01—Git,项目管理,git,java,后端

当对工作区的文件进行修改后,需要执行git add命令将修改后的文件添加到暂存区,之后文件的状态会更改为已暂存(staged),最后执行git commit命令后会将暂存区的文件提交到仓库,成功提交到仓库后可以查询到提交记录。

文件添加到暂存区 

将修改的文件添加到暂存区

# 添加指定的文件
git add "文件名"
# 添加所有文件
git add . 

01—Git,项目管理,git,java,后端

查询修改的状态 

# 查看文件状态
git status

01—Git,项目管理,git,java,后端

暂存区文件提交到本地仓库 

# 提交暂存区文件
git commit -m "注释内容"

01—Git,项目管理,git,java,后端

查询提交记录 

# 查看提交记录
git log [option]

01—Git,项目管理,git,java,后端

option参数

  • --all 显示所有分支
  • --pretty=oneline 将提交信息显示为一行
  • --abbrev-commit 使得输出的commit更简短
  • --graph 以图的形式显示 

版本回退 

# 版本回退
git reset --hard commitID

commitID可以使用git log命令查看

使用git reflog指令可以看到已经删除的提交记录 

添加文件至忽略列表 

当有些文件无需纳入Git管理,不希望这些文件总是出现在未跟踪文件列表。通常都是些自动生成的文件,比如日志文件,或者编译过程中创建的临时文件等。这种情况可以在工作目录中创建一个名为 .gitignore的文件(文件名称固定),列出一个要忽略的文件模式

忽略以 .log 结尾的文件,在 .gitignore文件中写入如下内容

*.log

在目录下新建一个app.log文件,在 .gitignore文件中添加忽略后,通过git status命令查看是否成功

01—Git,项目管理,git,java,后端

分支常用指令 

几乎所有的版本控制系统都以某种形式支持分支。使用分支意味着你可以把工作开发从主线上分离开来进行重大的BUG修复、开发新功能,以免影响开发主线

创建和查看本地分支 

# 创建分支
git branch 分支名称
# 查看本地分支
git branch

切换分支 

# 切换分支
git checkout 分支名

可以直接切换到一个不存在的分支(创建并切换)

git checkout -b 分支名 

01—Git,项目管理,git,java,后端

合并分支 

# 一个分支上的提交合并到另一个分支
git merge 分支名称

创建两个文件,file01.txt和file02.txt

将file01.txt提交到master分支的仓库中,将file02.txt提交到dev分支的仓库中

01—Git,项目管理,git,java,后端

当处于master分支时,只能看见file01.txt;当处于dev分支时,只能看见file02.txt

01—Git,项目管理,git,java,后端

01—Git,项目管理,git,java,后端

将dev分支提交的内容合并到master分支

01—Git,项目管理,git,java,后端

删除分支 

# 不能删除当前分支,只能删除其他分支
git branch -d 分支名 删除分支时,需要做各种检查
git branch -D 分支名 不做任何检查,强制删除

01—Git,项目管理,git,java,后端

解决冲突 

当两个分支上对文件进行修改可能会存在冲突,例如同时修改了同一个文件的同一行,这时需要手动解决冲突,解决冲突的步骤

  1.  处理文件冲突的地方
  2. 将解决完冲突的文件加入暂存区
  3. 提交到仓库

master和dev分支都有一个file02.txt文件,在file02.txt文件中分别进行编辑

master分支编辑file02.txt文件,文件第一行写入 sum  = 2

dev分支编辑file02.txt文件,文件第一行写入 sum = 3

两个分支分别将file02.txt提交到仓库中

01—Git,项目管理,git,java,后端

01—Git,项目管理,git,java,后端

在master分支执行合并操作会出现合并失败

01—Git,项目管理,git,java,后端

打开file02.txt查看内容

01—Git,项目管理,git,java,后端

冲突需要自行解决,将file02.txt内容重新编辑

01—Git,项目管理,git,java,后端

将解决后的file02.txt文件重新提交到仓库中即可

01—Git,项目管理,git,java,后端

Git远程仓库   

常用的托管服务【远程仓库】

GitHub(https://github.com/) :是一个面向开源及私有软件项目的托管平台,只支持Git作为唯一的版本库格式进行托管

GitLab(https://about.gitlab.com) :是一个用于仓库管理系统的开源项目,使用Git作为代码管理工具,并在此基础上搭建起来的web服务,一般用于企业、学校等内部网络搭建Git私服

Gitee码云(https://gitee.com/) :是国内的一个代码托管平台

创建仓库

注册码云,地址:https://gitee.com/signup

01—Git,项目管理,git,java,后端

创建完成到个人主页,右上角 + 号中选择新建仓库

01—Git,项目管理,git,java,后端

配置SSH公钥 

生成SSH公钥,在git bash输入指令

ssh-keygen -t rsa

一路回车,如果公钥已经存在,则自动覆盖

01—Git,项目管理,git,java,后端

获取公钥,在git bash输入指令

cat ~/.ssh/id_rsa.pub

复制公钥内容,在Gitee网站,右上角头像点击设置,之后点击左边菜单栏的SSH公钥

01—Git,项目管理,git,java,后端

添加远程仓库 

初始化本地仓库,然后与已创建的远程仓库进行对接

git remote add <远程名称> <仓库路径>

远程名称,默认是origin取决于远端服务器设置

仓库路径,从远端服务器获取此URL

01—Git,项目管理,git,java,后端

打开git bash执行命令,将本地仓库与远程仓库对接

01—Git,项目管理,git,java,后端

查看远程仓库

git remote

推送到远程仓库 

git push [-f] [--set-upstream] [远程名称 [本地分支名][:远端分支名]]

如果远程分支名与本地分支名相同,可以只写本地分支名称

git push origin master

-f 表示强制覆盖

--set-upstream 推送到远端的同时并建立起和远程分支的关联关系

git push --set-upstream origin master

如果当前分支已经和远端分支关联,可以省略分支名和远程名 

01—Git,项目管理,git,java,后端

01—Git,项目管理,git,java,后端将本地master分支与远程仓库master分支关联

01—Git,项目管理,git,java,后端

克隆 

如果已经有了一个远程仓库,可以直接克隆到本地

git clone <仓库路径> [本地目录]

本地目录可以省略,会自动生成一个目录

在本地创建一个新目录git-test02,将仓库中的内容克隆到新目录中

01—Git,项目管理,git,java,后端 

在git-test02文件夹中打开git bash命令行,输入克隆指令,将远程仓库内容拉取克隆下来

01—Git,项目管理,git,java,后端

抓取和拉取 

抓取命令

git fetch [remote name] [branch name]

抓取命令就是将仓库里的更新都抓取到本地,不会进行合并

如果不指定远端名称和分支名,则抓取所有分支

拉取命令

git pull [remote name] [branch name]

拉取命令就是将远程仓库的修改拉到本地并自动进行合并,等同于fetch+merge

如果不指定远端名称和分支名,则抓取所有并更新当前分支

IDEA使用Git 

IDEA配置Git,进入设置页面搜索Git

01—Git,项目管理,git,java,后端

配置完成git后,IDEA打开之前克隆远程仓库的git-test02目录下的git-test

01—Git,项目管理,git,java,后端

在该目录下创建一个文件

01—Git,项目管理,git,java,后端

创建文件会弹出窗口,选择add即可

01—Git,项目管理,git,java,后端

为了防止向远程仓库推送出现冲突,先进行拉取,然后再提交文件最后推送 

01—Git,项目管理,git,java,后端

01—Git,项目管理,git,java,后端

将文件进行提交

01—Git,项目管理,git,java,后端

01—Git,项目管理,git,java,后端

将提交的文件推送到远程仓库

01—Git,项目管理,git,java,后端

01—Git,项目管理,git,java,后端

01—Git,项目管理,git,java,后端 文章来源地址https://www.toymoban.com/news/detail-797648.html

到了这里,关于01—Git的文章就介绍完了。如果您还想了解更多内容,请在右上角搜索TOY模板网以前的文章或继续浏览下面的相关文章,希望大家以后多多支持TOY模板网!

本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如若转载,请注明出处: 如若内容造成侵权/违法违规/事实不符,请点击违法举报进行投诉反馈,一经查实,立即删除!

领支付宝红包 赞助服务器费用

相关文章

  • Git系列:运用Git创建空白分支进行项目相关文档管理

    项目管理过程中没有做好相关文档管理,比如需求,开发,测试等文档,需要对项目在过程中产生的相应文档进行管理,目前使用的是Git进行代码库管理,因此考虑通过Git进行相应的文档库管理。下面就是这次的一个考虑过程,供大家参考。 起初,考虑将代码和项目文档统一

    2024年02月10日
    浏览(44)
  • git(项目版本管理工具)快速入门

    目录 1、git 1.1、git概述 1.2、git的服务器地址 1.3、git原理 2、客户端操作 2.1、初始化本地库 2.2、添加本地暂存区  2.3、提交本地库 2.4、修改文件 2.5、查看修改历史 2.6、查看版本差异 2.7、删除文件 2.8、文件还原 3、git命令 3.1、初始化本地库 3.2、查看本地仓库状态 3.3、添加本

    2023年04月12日
    浏览(76)
  • 避免IDEA新建项目自动纳入git管理

    今天遇到了个很头疼的问题:我在 gitee 上创建了新的远程仓库 test1,然后通过 IDEA 拉取到了本地。随后我打算在该目录下新建新的 module,用来做不同的事情。比如这里的 mybatis 我打算用于测试 mybatis 相关的一些类、方法等。但问题是,我每次新建 module 它都会成为一个独立的

    2024年02月16日
    浏览(59)
  • 开源项目的版本管理:Git的最佳实践

    🌷🍁 博主猫头虎 带您 Go to New World.✨🍁 🦄 博客首页——猫头虎的博客🎐 🐳《面试题大全专栏》 文章图文并茂🦕生动形象🦖简单易学!欢迎大家来踩踩~🌺 🌊 《IDEA开发秘籍专栏》学会IDEA常用操作,工作效率翻倍~💐 🌊 《100天精通Golang(基础入门篇)》学会Golang语言

    2024年02月05日
    浏览(43)
  • 学习【Git项目管理工具】这一篇就够了

    Git是一个分布式版本控制工具,主要用于管理开发过程中的源代码文件(Java类、ml文件、html页面等),在软件开发过程中被广泛使用。 学完Git之后能做什么? 代码回溯 版本切换 多人协作 远程备份 Git仓库分为两种: 本地仓库:开发人员自己电脑的 Git 仓库 远程仓库:远程服务

    2024年01月19日
    浏览(54)
  • IDEA结合Git实现项目管理实战——基础篇

    本系列将结合我个人参与团队协作开发项目的经验来介绍如何使用IDEA结合Git实现项目管理,因此可能与真正的企业开发协作存在差异,且文章所涉及的解析可能存在个人理解与实际的偏差。 本系列主讲如何具体操作,因此对于Git内部的原理将 不会过多深究 。 本文严禁任何

    2024年02月05日
    浏览(48)
  • 使用小乌龟Tortoisegit+Git对项目进行管理

    目录 前言 Git安装 小乌龟Tortoisegit安装 托管平台 创建私有仓库 和平台仓库建立连接 联合开发 新建子分支 获取项目资料 开发人员上传资料和下载资料 项目管理审核资料         在项目开发过程中, 对项目的版本迭代管理是非常有必要的。 除了一般程序员做开发用到git这些

    2024年02月11日
    浏览(36)
  • 【IDEA结合Git实现项目管理实战】二、基础篇

    本系列将结合我个人参与团队协作开发项目的经验来介绍如何使用IDEA结合Git实现项目管理,因此可能与真正的企业开发协作存在差异,且文章所涉及的解析可能存在个人理解与实际的偏差。 本系列主讲如何具体操作,因此对于Git内部的原理将 不会过多深究 。 本文严禁任何

    2024年02月03日
    浏览(47)
  • Git的下载安装配置与上传文件以及命令 idea使用git项目版本操作管理

    Git - Downloads (git-scm.com) https://git-scm.com/downloads  下载速度比较慢,可以用迅雷下载,速度很快 我这里是用的压缩包版本,直接解压到要放的文件夹即可,文件名尽量不要使用中文,以防后续使用出现错误。  打开环境变量,在系统变Path,添加你的git安装路径/bin win+r输入cmd,

    2024年02月04日
    浏览(65)
  • [教程]如何使用git管理版本库,推送项目到远程仓库

    1.确保已经下载git,如果未安装到C盘,先完成环境变量的配置 2.打开到项目根目录 3.在当前目录输入cmd打开命令行窗口    4.git全局设置 5.提交项目到本地仓库 6.二次提交项目 可以查看历史提交版本,并且随时同步历史版本到项目 7.提交本地仓库到远程仓库gitee 在gitee上新建

    2024年02月08日
    浏览(65)

觉得文章有用就打赏一下文章作者

支付宝扫一扫打赏

博客赞助

微信扫一扫打赏

请作者喝杯咖啡吧~博客赞助

支付宝扫一扫领取红包,优惠每天领

二维码1

领取红包

二维码2

领红包