代码管理助手-Git

news2025/1/8 20:31:38

前言

        Git 是一个版本控制系统,可以帮助你记录文件的每一次修改。这样,如果你在编程时不小心把代码写错了,可以很容易地回退到之前的版本。最重要的是,Git 是完全免费的,用户可以在自己的计算机上安装和使用 Git,进行版本控制和代码管理,不需要支付任何费用。

目录

Git 的诞生

它的作用是?

功能

下载和安装

Git相关指令

Git 可视化软件

代码托管平台 

代码托管

国内常用且比较受欢迎的

对于初次使用Git新手的建议


Git 的诞生

        Git 是由 Linus Torvalds 在 2005 年开发的。当时,Linux 内核项目使用的版本控制系统 BitKeeper 由于许可问题无法继续使用,Linus 决定自己开发一个新的版本控制系统,于是 Git 诞生了。所以,它是为管理Linux 内核项目量身定做的版本控制系统.

它的作用是?

  1. 解决版本控制问题 写错了就撤回到上个版本,或者上上个版本,或者...
  2. 应对开源项目需求 开源的项目意味着多人协助,成千上万的人参与一个大型项目

功能

  • 初始化仓库:在你的项目文件夹中打开命令行,输入 git init,这样就创建了一个新的 Git 仓库。
  • 添加文件:使用 git add 命令把文件添加到暂存区,比如 git add . 可以添加所有文件。
  • 提交更改:使用 git commit 命令提交更改,并写上一条描述信息,比如 git commit -m "添加了登录功能"
  • 推送代码:使用 git push 命令把代码推送到远程仓库,这样别人就可以看到你的代码了。
  • 拉取代码:使用 git pull 命令从远程仓库拉取最新的代码,这样你可以获取别人提交的更改。

下载和安装

        Git 支持多种操作系统,如 Windows、macOS 和 Linux 等,为不同平台的用户提供了方便的安装方法。

  • Windows 系统安装
    • 访问 Git 官方网站(https://git-scm.com/),下载适用于 Windows 的 Git 安装包。
    • 双击安装包,按照提示进行安装。安装过程中可以选择安装路径、配置 Git 的环境变量等。
    • 安装完成后,可以在命令行中输入 git --version 来验证 Git 是否安装成功。
  • macOS 系统安装
    • 可以通过 Homebrew 包管理器安装 Git。首先安装 Homebrew,然后在终端中输入 brew install git 命令进行安装。
    • 安装完成后,同样可以在终端中输入 git --version 来验证 Git 是否安装成功。
  • Linux 系统安装
    • 根据所使用的 Linux 发行版,可以使用包管理器安装 Git。例如,在 Ubuntu 系统中,可以使用 sudo apt-get install git 命令进行安装。
    • 安装完成后,在终端中输入 git --version 来验证 Git 是否安装成功。

 从清华镜像中,提供一下windows版本的Git软件下载链接. 

https://mirrors.tuna.tsinghua.edu.cn/github-release/git-for-windows/git/Git%20for%20Windows%20v2.47.1.windows.1/Git-2.47.1-32-bit.exeicon-default.png?t=O83Ahttps://mirrors.tuna.tsinghua.edu.cn/github-release/git-for-windows/git/Git%20for%20Windows%20v2.47.1.windows.1/Git-2.47.1-32-bit.exe

Git相关指令

Git 提供了一系列的命令行指令,用于执行各种版本控制和代码管理操作。

  • 基本指令
    • 初始化仓库git init - 在当前目录下创建一个新的 Git 仓库。
    • 克隆仓库git clone <repository> - 克隆一个远程仓库到本地。
    • 查看状态git status - 查看当前仓库的状态,包括未跟踪、已修改和已暂存的文件。
    • 添加文件git add <file> - 将文件添加到暂存区,准备提交。使用 git add . 可以添加所有文件。
    • 提交更改git commit -m "message" - 提交暂存区的更改到本地仓库,并附上提交信息。
    • 查看提交历史git log - 查看提交历史记录,可以使用 git log --oneline 等选项简化输出。
  • 分支操作
    • 创建分支git branch <branch-name> - 创建一个新的分支。
    • 切换分支git checkout <branch-name> - 切换到指定的分支。
    • 合并分支git merge <branch-name> - 将指定分支的更改合并到当前分支。
  • 远程操作
    • 添加远程仓库git remote add <remote-name> <url> - 添加一个远程仓库。
    • 推送代码git push <remote-name> <branch-name> - 将本地分支的更改推送到远程仓库。
    • 拉取代码git pull <remote-name> <branch-name> - 从远程仓库拉取代码并合并到当前分支。
  • 撤销操作
    • 撤销暂存git reset <file> - 将文件从暂存区移除,但保留文件的修改。
    • 撤销提交git revert <commit> - 创建一个新的提交来撤销之前的提交。

Git 可视化软件

上面的指令,可能有人记不住了,没关系,有配套的可视化软件辅助你打天下(管理项目).

  • GitHub Desktop:由 GitHub 开发的可视化软件,支持 GitHub 仓库的克隆、提交、推送、拉取等操作,界面简洁易用。
  • GitKraken:一款功能强大的 Git 可视化工具,支持多种 Git 操作,如分支管理、代码审查、冲突解决等,界面美观且功能丰富。
  • SourceTree:由 Atlassian 开发的免费 Git 客户端,支持 Git 和 Mercurial 仓库,提供丰富的功能和良好的用户体验。推荐!!!
  • TortoiseGit:一款 Windows 平台上的 Git 可视化工具,与文件浏览器集成,可以通过右键菜单进行 Git 操作,方便快捷。

代码托管平台 

代码托管

代码除了在本地存储和管理,还可以在代码平台上建立远程仓库(或者自建代码托管服务),实现共享.

有些公司会提供基于 Git 的商业服务,比如 GitHub、GitLab 等。这些服务提供了额外的功能和便利,如远程仓库托管、代码审查、持续集成等,用户可以根据需要选择是否付费使用这些服务。远程仓库托管是免费的使用的,具体看托管平台的使用条款.

国内常用且比较受欢迎的

选择国内的代码托管平台可以提高访问速度,减少网络延迟,提高开发效率和用户体验。

注:GitHub 是国际知名的代码托管平台,但由于其服务器在国外,访问速度可能较慢,且存在一定的数据安全风险。

  • Gitee(码云)推荐!!!
  • Coding
  • GitLab China

对于初次使用Git新手的建议

最重要的是最后一点!!!

  • 理解基本概念:首先了解 Git 的基本概念,如版本控制、仓库、分支、提交等,为后续的操作打下基础。
  • 熟悉常用指令:掌握常用的 Git 指令,如 git initgit clonegit addgit commitgit pushgit pull 等,能够进行基本的版本控制操作。
  • 合理使用分支:学会创建和管理分支,将不同的功能或任务分配到不同的分支上,避免在主分支上直接进行开发,减少代码冲突。
  • 定期提交代码:养成定期提交代码的习惯,每次提交时附上清晰的提交信息,描述所做的更改,方便后续的代码审查和回溯。
  • 备份代码:将代码推送到远程仓库,如 GitHub、Gitee 等,进行代码备份,防止本地代码丢失。
  • 学习解决冲突:了解如何解决代码合并时的冲突,掌握合并冲突的基本步骤和技巧,确保代码的正确性。
  • 使用可视化工具:如果对命令行操作不熟悉,可以使用 Git 可视化工具,如 GitHub Desktop、GitKraken 等,简化操作并直观展示代码状态。

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

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

相关文章

注册中心如何选型?Eureka、Zookeeper、Nacos怎么选

这是小卷对分布式系统架构学习的第9篇文章&#xff0c;第8篇时只回答了注册中心的工作原理的内容&#xff0c;面试官的第二个问题还没回答&#xff0c;今天再来讲讲各个注册中心的原理&#xff0c;以及区别&#xff0c;最后如何进行选型 上一篇文章&#xff1a;如何设计一个注册…

WebRtc02: WebRtc架构、目录结构、运行机制

整体架构 WebRtc主要分为三层&#xff1a; CAPI层&#xff1a;外层调用Session管理核心层&#xff1a;包括视频引擎、音频引擎、网络传输 可由使用者重写视频引擎&#xff1a;编解码器、视频缓存、视频增强音频引擎&#xff1a;编解码器、音频缓存、回音消除、降噪传输&#x…

【Java】JVM内存相关笔记

Java虚拟机在执行Java程序的过程中会把它所管理的内存划分为若干个不同的数据区域。这些区域有各自的用途&#xff0c;以及创建和销毁的时间&#xff0c;有的区域随着虚拟机进程的启动而一直存在&#xff0c;有些区域则是依赖用户线程的启动和结束而建立和销毁。 程序计数器&am…

基于springboot的网上商城购物系统

作者&#xff1a;学姐 开发技术&#xff1a;SpringBoot、SSM、Vue、MySQL、JSP、ElementUI、Python、小程序等 文末获取“源码数据库万字文档PPT”&#xff0c;支持远程部署调试、运行安装。 目录 项目包含&#xff1a; 开发说明&#xff1a; 系统功能&#xff1a; 项目截图…

STM32 拓展 低功耗案例3:待机模式 (hal)

配置PA0的两种方式&#xff1a; 第一种 第二种 复制寄存器代码然后对其进行修改 mian.c /* USER CODE BEGIN Header */ /********************************************************************************* file : main.c* brief : Main program body…

VLMs之Agent之CogAgent:《CogAgent: A Visual Language Model for GUI Agents》翻译与解读

VLMs之Agent之CogAgent&#xff1a;《CogAgent: A Visual Language Model for GUI Agents》翻译与解读 导读&#xff1a;这篇论文介绍了CogAgent&#xff0c;一个专注于图形用户界面 (GUI) 理解和导航的视觉语言模型 (VLM)。这篇论文提出了一种新的视觉语言模型 CogAgent&#…

HTML+CSS+JS制作中华传统文化主题网站(内附源码,含5个页面)

一、作品介绍 HTMLCSSJS制作一个中华传统文化主题网站&#xff0c;包含首页、文化艺术页、传统工艺页、文化遗产页、关于我们页等5个静态页面。其中每个页面都包含一个导航栏、一个主要区域和一个底部区域。 二、页面结构 1. 顶部导航区 包含网站 Logo、主导航菜单&#xff…

笔记-使用ffmpeg产生rtsp视频流,然后用进行VLC播放

笔记-使用ffmpeg产生rtsp视频流&#xff0c;然后用进行VLC播放 1.软件配置1.1下载安装好**ffmpeg**1.2使用EasyDarwin创建RTSP服务器 2.FFmpeg找本地摄像头名字3.FFmpeg推流命令3.1使用VLC实现拉流 1.软件配置 1.1下载安装好ffmpeg ffmpeg官网 本地下载 1.2使用EasyDarwin创…

【竞技宝】CS2:HLTV2024职业选手排名TOP8-broky

北京时间2025年1月7日,HLTV年度选手排名正在持续公布中,今日凌晨正式公布了今年的TOP8为FAZE战队的broky。 选手简介 broky是一位来自拉脱维亚的职业CS选手,现年23岁。2018年7月,broky获得了FPL资格,连续几季在榜上前5。他的首次赛场留名是跟随拉脱维亚本土战队Wolsung出征BES…

Java到底是值传递还是引用传递????

在搞懂这个问题之前, 我们要首先了解什么是值传递, 什么是引用传递? 值传递: 传递的是数据的副本&#xff0c;修改副本不会影响原始数据。引用传递: 传递的是数据的引用&#xff08;地址&#xff09;&#xff0c;修改引用会直接影响原始数据. 也就是说&#xff0c;值传递和引…

Vue3国际化多语言的切换

参考链接: link Vue3国际化多语言的切换 一、安装 vue-i18n 和 element-plus vue-i18n 是一个国际化插件&#xff0c;专为 Vue.js 应用程序设计&#xff0c;用于实现多语言支持。它允许你将应用程序的文本、格式和消息转换为用户的首选语言&#xff0c;从而提供本地化体验。…

2024AAAI SCTNet论文阅读笔记

文章目录 SCTNet: Single-Branch CNN with Transformer Semantic Information for Real-Time Segmentation摘要背景创新点方法Conv-Former Block卷积注意力机制前馈网络FFN 语义信息对齐模块主干特征对齐共享解码头对齐 总体架构backbone解码器头 对齐损失 实验SOTA效果对比Cit…

xss-labs关卡记录15-20关

十五关 随便传一个参数&#xff0c;然后右击查看源码发现&#xff0c;这里有一个陌生的东西&#xff0c;就是ng-include。这里就是&#xff1a; ng-include指令就是文件包涵的意思&#xff0c;用来包涵外部的html文件&#xff0c;如果包涵的内容是地址&#xff0c;需要加引号。…

计算机网络 (30)多协议标签交换MPLS

前言 多协议标签交换&#xff08;Multi-Protocol Label Switching&#xff0c;MPLS&#xff09;是一种在开放的通信网上利用标签引导数据高速、高效传输的新技术。 一、基本概念 MPLS是一种第三代网络架构技术&#xff0c;旨在提供高速、可靠的IP骨干网络交换。它通过将IP地址映…

打造三甲医院人工智能矩阵新引擎(四):医疗趋势预测大模型篇 EpiForecast与DeepHealthNet合成应用

一、引言 1.1 研究背景与意义 在当今数字化时代,医疗领域积累了海量的数据,涵盖电子病历、医学影像、基因序列、临床检验结果等多源异构信息。这些数据蕴含着疾病发生发展、治疗反应、疫情传播等规律,为医疗趋势预测提供了数据基础。准确的医疗趋势预测能辅助医疗机构提前…

小白学Pytorch

小白学Pytorch 发现一个比较好的教程&#xff0c;对于自己来说比较合适&#xff0c;适合从零开始的教程。 1、搭建一个简单的网络 https://www.cnblogs.com/PythonLearner/p/13587092.html 搭建网络这步说的比较清楚&#xff1a; 我们使用nn包中的Sequential搭建网络&#…

基于RedHat9部署WordPress+WooCommerce架设购物网站

系统版本信息&#xff1a;Red Hat Enterprise Linux release 9.2 (Plow) WordPress版本信息&#xff1a;wordpress-6.6.2-zh_CN WooCommerce版本信息&#xff1a;woocommerce.9.5.1 环境架构&#xff1a;LNMP&#xff08;RedHat9nginx1.20.1PHP 8.0.27MySQL8.0.30&#xff09; …

Spring源码分析之事件机制——观察者模式(一)

目录 事件基类定义 事件监听器接口 事件发布者接口及实现 事件广播器实现 小小总结 Spring源码分析之事件机制——观察者模式&#xff08;一&#xff09;-CSDN博客 Spring源码分析之事件机制——观察者模式&#xff08;二&#xff09;-CSDN博客 Spring源码分析之事件机制…

JDK、JRE、JVM三者的关系、JDK8的新特性、JVM内存结构,堆栈的区别

1&#xff0e;JDK、JRE、JVM三者的关系 JDK (Java Development Kit)----Java开发工具包&#xff0c;用于Java程序的开发。 JRE (Java Runtime Environment)----Java运行时环境&#xff0c;只能运行.class文件&#xff0c;不能编译。 JVM (Java Virtual Machine)----Java虚拟…

【Linux】文件的压缩与解压

目录 gzip和 gunzip bzip2 和 bunzip2(特点和gzip相似) xz和unxz(特点和gzip相似) zip 和 unzip tar gzip和 gunzip 特点&#xff1a;只能对单个的普通文件进行压缩 不能进行归档&#xff0c;压缩或解压后的源文件都不存在 压缩后所生成的压缩格式是.gz格式 压缩&…