小白入职 必要熟悉 Git / tortoiseGit 工具

1.安装Git

1.1 了解Git

  • Git是分布式版本控制系统,没有中央服务器的
  • 每个人的电脑就是一个完整的版本库,工作时无需联网
  • 可多人协作,只需把各自的修改推送给对方,就可以互相看到对方的修改了

分布式版本控制工具管理方式: 

1.2  git 工作流程

一般工作流程如下:

  1. 从远程仓库中克隆 Git 资源作为本地仓库
  2. 从本地仓库中checkout代码然后进行代码修改
  3. 在提交前先将代码提交到暂存区
  4. 提交修改,提交到本地仓库(保存修改的各个历史版本)
  5. 在修改完成后,需要和团队成员共享代码时,可以将代码push到远程仓库

2.TortoiseGit 软件安装

2.1 tortoisegit的介绍:

  • 完全兼容Git的命令行操作
  • 可以用于执行常规任务,如提交、查看日志、差异比较、创建分支和标签、创建补丁
  • 它还支持与远程仓库的交互,如推送(push)和拉取(pull)操作

2.2 下载

官方下载地址:https://download.tortoisegit.org/tgit/ 

3.安装中文语言包

安装完一般要重启一下电脑

4.使用 git 管理文件版本 

4.1 创建版本库(repository)

  1. 版本库又名仓库,英文名repository
  2. 可简单理解成一个目录,其中每个文件的修改、删除,Git都能跟踪,以便任何时刻都可以追踪历史,或者在将来某个时刻可以“还原”
  3. 由于git是分布式版本管理工具,所以git在不需要联网的情况下也具有完整的版本管理能力

4.2 创建一个版本库

首先,创建一个空目录(D:\Work\git\repository)。在当前目录中点击右键中选择Git Bash来启动

概念:

  • 版本库:“.git ” 目录就是版本库
    • 将来文件都需要保存到版本库中
  • 工作目录:包含“.git”目录的目录
    • 也就是 .git 目录的上一级目录就是工作目录
    • 只有工作目录中的文件才能保存到版本库中

另外一种创建版本库的方式,使用TortoiseGit

4.3 设置用户信息4.4 github 上创建share仓库

仓库名:share

 echo "# share" >> README.mdgit initgit add README.mdgit commit -m "first commit"git branch -M maingit remote add origin https://github.com/heheda102410/share.gitgit push -u origin main

(1)从远程仓库中克隆 Git 资源作为本地仓库 

从URL: https://github.com/heheda102410/share.git 克隆现有的版本库

(2)从本地仓库中checkout代码然后进行代码修改 

在本地创建新的分支,叫做branch_01:

  • 命令是:git checkout -b branch_01 

可以从下图看出创建分支的同时,也切换到了branch_01分支了 

注意:使用git checkout命令切换分支的时候,工作区里未受控的文件不变(比如新文件,以及未add的文件更新)

(3)在提交前先将代码提交到暂存区

(4)提交修改,提交到本地仓库(保存修改的各个历史版本)

 git add .git commit -m "创建新分支branch_01初始状态"

 git add命令实际上就是把要提交的所有修改放到暂存区(Stage),然后,执行git commit就可以一次性把暂存区的所有修改提交到分支

Git跟踪并管理的主要目标是修改变更,而非单个文件本身,比如,某次 commit是多个文件的更新,包括新建文件。

注意:如果文件被修改了,但是没有add,是不会被commit到存储库中的

 

当然这个步骤可以用tortoiseGit 来完成同样的效果:

首先,先回退一下版本,Git允许我们在版本的历史之间穿梭,使用

  • 命令git reset --hard commit_id

我们想知道commit_id ,可以从tortoiseGit查看,也可以在git bash中用命令查看:

SHA-1: 6f0033c564c9e788416d39a64469372f37e36320
SHA-1: b7e41e1596094a36c85324cb7941afe221dd0fd8
  • 要重返未来,用git reflog【另外一条类似命令为:git log --pretty=oneline】查看命令历史,以便确定要回到未来的哪个版本 
$ git log --pretty=oneline

命令git reset --hard commit_id$ git reset --hard b7e41e1596094a36c85324cb7941afe221dd0fd8

之前:

回退commit后:

现在,我们已经体验了一把回退版本的美妙,我们继续来探索其他的命令是什么功能吧!

首先,先回到我们新建了一个文本heheda_test.txt的版本

执行完以上命令后,已经出现了有heheda_test.txt这个版本了。接着在当前目录中,新增两张图片,然后在空白处右键点击tortoiseGit“Git commit(提交)...”

  • HEAD指向的版本就是当前版本,上一个版本就是HEAD^,上上一个版本就是HEAD^^,当然往上100个版本写100个^比较容易数不过来,所以写成HEAD~100 
上一个版本就是HEAD^$ git reset --hard HEAD^

上上一个版本就是HEAD^^$ git reset --hard HEAD^^

上上一个版本就是HEAD^^$ git reset --hard HEAD~2

  • 使用git log --graph --pretty=oneline --abbrev-commit可以以图形的方式查看分支提交记录。比如:
git log --graph --pretty=oneline --abbrev-commit

多条commit合并成一条

$ git push --set-upstream origin branch_01

再创建一个分支,branch_02

推荐和参考文章:

切换为“合并分支”版本,那就会撤回1个视频

$ git push --force

$ git push --force-with-lease

使用 `-force` 被认为是有害的;了解 Git 的 `-force-with-lease` 命令_--force-with-lease-CSDN博客icon-default.png?t=N7T8https://blog.csdn.net/LeviDing/article/details/76789443 

对比branch_01仓库和main仓库,我们可以发现各自的存储内容都不太一样!

Git基础入门二:工作区和暂存区-CSDN博客

Git基础入门三:创建版本库和添加修改文件基本命令_使用git只添加修改文件的命令的是-CSDN博客

Git基础入门四:版本回退(撤销修改)_git clean -xdf 怎么撤回-CSDN博客

Git基础入门五:分支管理_branch 'dev' set up to track remote branch 'dev' f-CSDN博客

Git基础入门六:标签管理(git tag)_git label-CSDN博客

Git基础入门七:Git高级命令之Rebase_rebase是什么意思-CSDN博客

Git的安装和本地仓库基本操作使用详解(一)_tortoisegitplink,basedonputty;optimizedfortortoise-CSDN博客

如何使用TortoiseGit指北,一篇讲清 - 知乎 (zhihu.com)

本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如若转载,请注明出处:http://www.mzph.cn/news/841725.shtml

如若内容造成侵权/违法违规/事实不符,请联系多彩编程网进行投诉反馈email:809451989@qq.com,一经查实,立即删除!

相关文章

架构师必考题--软件系统质量属性

软件系统质量属性 1.质量属性2.质量属性场景描述3.系统架构评估 这个知识点是系统架构师必考的题目,也是案例分析题第一题, 有时候会出现在选择题里面,考的分数也是非常高的。 1.质量属性 属性说明可用性错误检测/恢复/避免性能资源需求/管理…

《python编程从入门到实践》day39加更

# 昨日知识点回顾 添加主题、条目 # 今日知识点学习 19.1.3 编辑条目 1.URL模式edit——entry # learning_logs/urls.py ---snip---# 用于编辑条目的页面path(edit_entry/<int:entry_id>/, views.edit_entry, nameedit_entry), ] 2.视图函数edit_entry() # views.py fr…

MySQL数据库中的多表查询/连接查询操作

类型&#xff1a;内连接 &#xff0c;外连接{左外连接&#xff0c;右外连接} 之所以要使用连接查询的意义就是为了&#xff0c;借助数据库可以避免大量的数据重复。 进行连接查询的前提是要求多张表之间存在相关联的字段。 这里指的相关联的字段就是表与表之间存在着关系&am…

matplotlib latex表格

使用python3环境 import matplotlib.gridspec as gridspec import matplotlib.pyplot as pltimport numpy as np import matplotlib as mpl #mpl.use(pgf)def figsize(scale, nplots 1):fig_width_pt 390.0 # Get this from LaTeX using \the\text…

五种独立成分分析(ICA)

代码原理及流程 代码实现了混合信号的独立成分分析&#xff08;ICA&#xff09;过程&#xff0c;主要包括以下几个步骤&#xff1a; 原始语音信号读取与显示&#xff1a;首先读入原始的两个语音信号(music.wav和man.wav)&#xff0c;并显示在图中的第一和第二个子图中。混合声…

MacOS使用PhpStorm+Xdebug断点调式

基本环境&#xff1a; MacOS m1 PhpStorm 2024.1 PHP7.4.33 Xdebug v3.1.6 1、php.ini 配置 [xdebug] zend_extension "/opt/homebrew/Cellar/php7.4/7.4.33_6/pecl/20190902/xdebug.so" xdebug.idekey "PHPSTORM" xdebug.c…

基础—SQL—DDL—建表、查表、修改表以及总结

一、DDL—表—创建表与数据类型的设定 &#xff08;1&#xff09;要求 根据需求创建表(设计合理的数据类型、长度) 设计一张员工信息表&#xff0c;要求如下: 1、编号&#xff08;纯数字) 2、员工工号(字符串类型&#xff0c;长度不超过10位) 3、员工姓名&#xff08;字符串类…

是的,我换logo了!

大家好&#xff0c;我是记得诚。 当你收到推文的时候&#xff0c;会发现记得诚换logo了&#xff01; 之前是这样的。 现在是这样的。 这个新logo&#xff08;头像&#xff09;是2年前在淘宝上请人做的&#xff0c;价值37人民币&#xff0c;但一直没有换上。当时还发了一个朋友…

python纯脚本搬砖DNF之深度学习,工作室适用

声明&#xff1a; 本文章仅作学习交流使用,对产生的任何影响&#xff0c;本人概不负责. 转载请注明出处:https://editor.csdn.net/md?articleId103674748 主要功能 脚本已初步完成&#xff0c;可以上机实战了 1.搬砖研究所、海伯伦&#xff08;持续更新中&#xff09; 2.自…

Mysql中表之间的关系

表之间的关系 一对一、多对一&#xff08;其实就是主从关系&#xff0c;在从表中设置一个外键关联上主表&#xff09;、多对多关系&#xff08;需要一个中间表&#xff0c;设置两个外键&#xff0c;分别关联到两个表的主键&#xff09; 比如订单和商品之间&#xff1a;一个订单…

Spring从零开始学使用系列(四)之@PostConstruct和@PreDestroy注解的使用

如果各位老爷觉得可以&#xff0c;请点赞收藏评论&#xff0c;谢谢啦&#xff01;&#xff01; 文章中涉及到的图片均由AI生成 公众号在最下方&#xff01;&#xff01;&#xff01; 目录 1. 介绍 1.1 PostConstruct概述 1.2 PreDestroy概述 2. 基本用法 2.1 注册CommonAnn…

AlexNet论文解析—ImageNet Classification with Deep Convolutional Neural Networks

AlexNet论文解析—ImageNet Classification with Deep Convolutional Neural Networks 2012 研究背景 认识数据集&#xff1a;ImageNet的大规模图像识别挑战赛 LSVRC-2012&#xff1a;ImageNet Large Scale Visual Recoanition Challenge 类别训练数据测试数据图片格式Mnist1…

安装mamba时报错bare_metal_version

原因&#xff1a;缺少cuda118的环境版本&#xff0c;直接安装 nvidia/label/cuda-11.8.0 可解决&#xff0c;代码如下&#xff1a; conda install -c "nvidia/label/cuda-11.8.0" cuda-nvcc

复习java5.26

面向对象和面向过程 面向过程&#xff1a;把一个任务分成一个个的步骤&#xff0c;当要执行这个任务的时候&#xff0c;只需要依次调用就行了 面向对象&#xff1a;把构成任务的事件构成一个个的对象&#xff0c;分别设计这些对象&#xff08;属性和方法&#xff09;、然后把…

MybatisPlus静态工具Db

前言&#xff1a;在开发的时候&#xff0c;有时Service之间也会相互调用&#xff0c;会出现循环依赖问题&#xff0c;MybatisPlus提供一个静态工具类:Db&#xff0c;其中的一些静态方法与IService中方法签名基本一致&#xff0c;也可以帮助我们实现CRUD功能。 一、Db工具类中常…

深度学习面试问题总结(21)| 模型优化

本文给大家带来的百面算法工程师是深度学习模型优化面试总结&#xff0c;文章内总结了常见的提问问题&#xff0c;旨在为广大学子模拟出更贴合实际的面试问答场景。在这篇文章中&#xff0c;我们还将介绍一些常见的深度学习面试问题&#xff0c;并提供参考的回答及其理论基础&a…

入门五(项目介绍及登录和发布需求)

软件缺陷判定标准 项目中缺陷的管理流程 使用Excel对于缺陷进行管理 使用工具管理缺陷 一、项目背景 传智作为一个IT教育机构&#xff0c;拥有自己开发且实际运营的产品&#xff1b; 将开发和运营的技术作为授课的内容&#xff0c;对于学员而言学到的都是一手的真实案例和…

释放Mac潜能,选择Magic Disk Cleaner for Mac

想要让Mac运行更加流畅、性能更加出色吗&#xff1f;那就选择Magic Disk Cleaner for Mac吧&#xff01; Magic Disk Cleaner for Mac v2.7.7激活版下载 这款软件是Mac用户的得力助手&#xff0c;它拥有强大的扫描和清理功能&#xff0c;能够迅速找出并删除硬盘上的无用文件和垃…

如何查看哪些组策略应用于你的电脑和用户帐户?这里有详细步骤

如果你希望在电脑上查看所有有效的组策略设置,以下是操作方法。 什么是Windows中的组策略 在Windows世界中,组策略为网络管理员提供了一种将特定设置分配给用户组或计算机组的方法。然后,无论何时组中的用户登录到联网的PC,或无论何时启动组中的PC,都会应用这些设置。 …

谷歌Google广告投放优势和注意事项!

谷歌Google作为全球最大的搜索引擎&#xff0c;谷歌不仅拥有庞大的用户基础&#xff0c;还提供了高度精准的广告投放平台&#xff0c;让广告主能够高效触达目标受众&#xff0c;实现品牌曝光、流量增长乃至销售转化的多重目标&#xff0c;云衔科技以专业服务助力您谷歌Google广…