学Git,管理Github,可视化TortoiseGit

2024-02-23 18:58

本文主要是介绍学Git,管理Github,可视化TortoiseGit,希望对大家解决编程问题提供一定的参考价值,需要的开发者们随着小编来一起学习吧!

概念
  • Git:是一个开源的版本控制系统 (VCS),实现分布式版本控制的一个工具,用于实现文件历史管理的工具,常用于软件项目的版本管理。
  • GitHub:是世界上最大的软件远程仓库,是一个面向开源和私有软件项目的托管平台,使用Git做分布式版本控制。学会操作使用Git其实是为了管理Github服务。
  • Gitee:国内的GitHub,解决国内访问GitHub速度慢的问题
  • TortoiseGit:相当于Git的图形客户端,提供可视化操作

Git官方下载地址: https://www.git-scm.com/download/win
在这里插入图片描述

除了可以改一下安装目录,其他一路next,默认设置即可

检验:打开cmd,输入

git --version

出现版本号即安装成功

Git工作区域:

仓库专业名称为:分支
在这里插入图片描述

配置

使用远程仓库的目的/作用:备份,实现代码共享集中化管理
在这里插入图片描述

将本地仓库同步到git远程仓库中;由于本地 Git 仓库和 GitHub 仓库之间的传输是通过SSH加密的,所以需要使用Git 来配置验证信息。启动Git Bash,使用以下命令生成 SSH Key:

ssh-keygen -t rsa -C "Github上注册的邮箱"

之后会要求确认路径和输入密码,此处默认,一路回车即可。成功的话会在系统盘的用户目录下生成 .ssh 文件夹,进去后用记事本打开 id_rsa.pub 文件,复制里面的内容 -->> key(Ctrl+A/C)
在这里插入图片描述

回到 github 上,进入 Account -->> Settings(账户配置),左边选择 SSH and GPG keys,然后点击 New SSH key 按钮,title ->>设置标题,可以随便填,Key ->> 粘贴上面生成的 key
在这里插入图片描述
添加成功后界面如下所示
在这里插入图片描述可输入以下命令,验证是否成功:

ssh -T git@github.com

到此成功,接下来就是使用Git命令来管理Github

Git 的基本命令行操作

Git工具的命令操作类似于linux系统

配置账号信息:包括用户名和 email 地址,Git 依据此信息区分各个用户,在github仓库主页显示谁提交了该文件

命令格式:

$ git config --global user.name 'user-name'
$ git config --global user.email 'email'

- -global 参数表示本机上的所有 Git 仓库都使用该配置信息。通常,一台电脑对应一个开发者,该电脑上的所有本地仓库都使用同样的账号信息。

【扩展】若一台电脑被多个开发者使用,则每个开发者有不同的工作目录,包含了各自的本地仓库。此时,应在各自的工作目录下执行 git config user.name ‘userName’ 命令,这样每个工作目录提交代码时使用的是不同的账号。

初始化本地仓库

git init

本地仓库位于工作目录下的 .git 目录中,本地仓库中保存了 Git 管理的项目文件以及各个文件的历史版本,该目录由 Git 管理和维护,禁止手动修改。

把文件添加到 Git 仓库暂存区

git add xxx 		# 暂存当前目录下的 xxx文件
git add . 		# 暂存当前目录下所有未跟踪的和已修改的文件

文件分类和状态:
工作目录下的文件,分为未跟踪和已跟踪的文件:
未跟踪的文件:是指该文件未被纳入版本控制,Git 不会记录该文件的任何改动。
已跟踪的文件:是指该文件已被纳入版本控制,Git 将监视用户对这些文件的操作,文件可能会处于不同的状态。已跟踪文件可能会处于如下三种状态之一:已修改(modified)、已暂存(staged)和已提交(committed)。
已修改:是指该文件自上次保存后又被修改了但还没有暂存;
已暂存:是指该文件已被暂存到本地仓库中,但还未提交;
已提交:是指该文件已被保存在本地仓库中的某个版本中了。

对文件的增删改查使用文本编辑器 vi 或 vim 工具,操作等同与Linux系统:
https://blog.csdn.net/suoyue_py/article/details/104183622

提交

git commit -m '提交说明'

将所有暂存的文件永久保存到本地仓库中。-m 选项后面跟的是本次提交的说明。

通常的做法是:多次使用 git add命令暂存多个文件,最后使用 git commit一次性提交产生一个版本记录。

使用-a 参数将暂存和提交一步完成:

$ git commit -a -m "注释" 		#提交所有已修改的文件,未跟踪的文件不做处理

查看文件状态

$ git status		#命令查看工作目录下的文件状态

红色文件名表示该文件要么是未跟踪,要么是已修改还未暂存
绿色文件名表示已暂存但未提交的文件

查看分支

git branch

更改到my_dev分支

git checkout dev_branch

查看版本记录

$ git log

默认按照从最近到最远的顺序显示提交记录。如果嫌输出信息太多,可加上–pretty=oneline 参数:$ git log --pretty=oneline

指明Github远程仓库

git remote add origin 仓库地址

上传到Github远程仓库

git push -u origin master

push推送时出错——若是第一次推送可采用暴力直推,但不推荐

git push -f origin master

在这里插入图片描述

其他操作

查看当前配置的远程库(即别名

$ git remote

加上 -v 参数,可以看到每个别名的实际链接地址

$ git remote -v

删除远程仓库:

$ git remote rm [别名]

Git克隆操作 /目的
将远程仓库(github对应的项目)复制到本地

$ git clone 仓库地址

检出/更改分支

$ git checkout 

命令有两种功能:

  • 一是检出文件(使用本地仓库中的文件覆盖工作区中的文件)
  • 二是检出分支

检出单个文件:使用本地仓库中暂存的或已提交的文件覆盖工作区中的文件

$ git checkout -- <file-name>

检出所有文件:使用本地仓库中的所有文件覆盖工作区的所有文件

$ git checkout .

【扩展】

检出命令完整格式:

$ git checkout [<commit hash>] [--] <paths>
  • 若未提供commit hash,则检出仓库中最新的版本
  • 若提供了commit hash,则检出指定的版本中的文件,此时暂存的文件会被清除

【示例】

$ git checkout 26a2e80 – readme.txt
$ git checkout HEAD – readme.txt #检出最后一次提交的文件,暂存内容会被清除

HEAD 是 Git 中的一个指针,通常指向当前分支,此处表示检出当前分支的最后一次提交的文件。

$ git checkout 26a2e80 #如果未给出文件路径,则检出指定版本的所有文件覆盖工作区,此时 HEAD将处于游离状态,如果不使用相关的命令让 HEAD 指向某个分支,则后续无法执行提交操作。

$ git checkout master

这样 HEAD就指向了 master 分支,以后的提交都是在 master 分支上进行。

重置单个文件:主要用来清除暂存的文件,不影响工作区中的文件内容

$ git reset <file-name>

【示例】$ git reset project.ini

重置后工作区文件的状态会发生改变:如果该文件从未提交过,则文件变为未跟踪的;如果曾经提交过,则文件状态变为已修改未暂存。

重置 本地仓库 整个项目 到特定版本

$ git reset --hard <Commit Hash>

此操作会将本地仓库中当前分支重置到指定的版本,后续的提交被丢弃。
- - hard 参数表示工作目录下的文件也被重置。如果没有–hard 参数,则只重置仓库中的版本,工作区中的文件保持现状不被重置。

【示例】重置为某个特定版本,可使用对应的版本号(版本号前几位即可):

$ git reset --hard 3628164

另外,HEAD 代表当前分支的最新版本,上个版本可使用 HEAD^表示,上上个版本则是 HEAD^^,多个 ^ 可写成 HEAD~n。

【示例】$ git reset --hard HEAD^

说在最后:需要详细文档可于公众号"suoyue_zhan" (下方扫码直达)后台回复 git

在这里插入图片描述

这篇关于学Git,管理Github,可视化TortoiseGit的文章就介绍到这儿,希望我们推荐的文章对编程师们有所帮助!



http://www.chinasem.cn/article/739619

相关文章

SpringBoot使用minio进行文件管理的流程步骤

《SpringBoot使用minio进行文件管理的流程步骤》MinIO是一个高性能的对象存储系统,兼容AmazonS3API,该软件设计用于处理非结构化数据,如图片、视频、日志文件以及备份数据等,本文... 目录一、拉取minio镜像二、创建配置文件和上传文件的目录三、启动容器四、浏览器登录 minio五、

IDEA中的Kafka管理神器详解

《IDEA中的Kafka管理神器详解》这款基于IDEA插件实现的Kafka管理工具,能够在本地IDE环境中直接运行,简化了设置流程,为开发者提供了更加紧密集成、高效且直观的Kafka操作体验... 目录免安装:IDEA中的Kafka管理神器!简介安装必要的插件创建 Kafka 连接第一步:创建连接第二步:选

bat脚本启动git bash窗口,并执行命令方式

《bat脚本启动gitbash窗口,并执行命令方式》本文介绍了如何在Windows服务器上使用cmd启动jar包时出现乱码的问题,并提供了解决方法——使用GitBash窗口启动并设置编码,通过编写s... 目录一、简介二、使用说明2.1 start.BAT脚本2.2 参数说明2.3 效果总结一、简介某些情

综合安防管理平台LntonAIServer视频监控汇聚抖动检测算法优势

LntonAIServer视频质量诊断功能中的抖动检测是一个专门针对视频稳定性进行分析的功能。抖动通常是指视频帧之间的不必要运动,这种运动可能是由于摄像机的移动、传输中的错误或编解码问题导致的。抖动检测对于确保视频内容的平滑性和观看体验至关重要。 优势 1. 提高图像质量 - 清晰度提升:减少抖动,提高图像的清晰度和细节表现力,使得监控画面更加真实可信。 - 细节增强:在低光条件下,抖

软考系统规划与管理师考试证书含金量高吗?

2024年软考系统规划与管理师考试报名时间节点: 报名时间:2024年上半年软考将于3月中旬陆续开始报名 考试时间:上半年5月25日到28日,下半年11月9日到12日 分数线:所有科目成绩均须达到45分以上(包括45分)方可通过考试 成绩查询:可在“中国计算机技术职业资格网”上查询软考成绩 出成绩时间:预计在11月左右 证书领取时间:一般在考试成绩公布后3~4个月,各地领取时间有所不同

git使用的说明总结

Git使用说明 下载安装(下载地址) macOS: Git - Downloading macOS Windows: Git - Downloading Windows Linux/Unix: Git (git-scm.com) 创建新仓库 本地创建新仓库:创建新文件夹,进入文件夹目录,执行指令 git init ,用以创建新的git 克隆仓库 执行指令用以创建一个本地仓库的

安全管理体系化的智慧油站开源了。

AI视频监控平台简介 AI视频监控平台是一款功能强大且简单易用的实时算法视频监控系统。它的愿景是最底层打通各大芯片厂商相互间的壁垒,省去繁琐重复的适配流程,实现芯片、算法、应用的全流程组合,从而大大减少企业级应用约95%的开发成本。用户只需在界面上进行简单的操作,就可以实现全视频的接入及布控。摄像头管理模块用于多种终端设备、智能设备的接入及管理。平台支持包括摄像头等终端感知设备接入,为整个平台提

从状态管理到性能优化:全面解析 Android Compose

文章目录 引言一、Android Compose基本概念1.1 什么是Android Compose?1.2 Compose的优势1.3 如何在项目中使用Compose 二、Compose中的状态管理2.1 状态管理的重要性2.2 Compose中的状态和数据流2.3 使用State和MutableState处理状态2.4 通过ViewModel进行状态管理 三、Compose中的列表和滚动

git ssh key相关

step1、进入.ssh文件夹   (windows下 下载git客户端)   cd ~/.ssh(windows mkdir ~/.ssh) step2、配置name和email git config --global user.name "你的名称"git config --global user.email "你的邮箱" step3、生成key ssh-keygen

查看提交历史 —— Git 学习笔记 11

查看提交历史 查看提交历史 不带任何选项的git log-p选项--stat 选项--pretty=oneline选项--pretty=format选项git log常用选项列表参考资料 在提交了若干更新,又或者克隆了某个项目之后,你也许想回顾下提交历史。 完成这个任务最简单而又有效的 工具是 git log 命令。 接下来的例子会用一个用于演示的 simplegit