代码管理助手-Git

前言

        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 等,简化操作并直观展示代码状态。

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

如若内容造成侵权/违法违规/事实不符,请联系我们进行投诉反馈qq邮箱809451989@qq.com,一经查实,立即删除!

相关文章

蓝耘:GPU算力云服务的技术探索与AIGC应用支持

&#x1f3ac; 江城开朗的豌豆&#xff1a;个人主页 &#x1f525; 个人专栏 :《 VUE 》 《 javaScript 》 &#x1f4dd; 个人网站 :《 江城开朗的豌豆&#x1fadb; 》 ⛺️ 生活的理想&#xff0c;就是为了理想的生活 ! 目录 一、蓝耘的核心优势 1. 行业领先的基础设施 …

Kubernetes Gateway API-4-TCPRoute和GRPCRoute

1 TCPRoute 目前 TCP routing 还处于实验阶段。 Gateway API 被设计为与多个协议一起工作&#xff0c;TCPRoute 就是这样一个允许管理TCP流量的路由。 在这个例子中&#xff0c;我们有一个 Gateway 资源和两个 TCPRoute 资源&#xff0c;它们按照以下规则分配流量&#xff1…

在不到 5 分钟的时间内将威胁情报 PDF 添加为 AI 助手的自定义知识

作者&#xff1a;来自 Elastic jamesspi 安全运营团队通常会维护威胁情报报告的存储库&#xff0c;这些报告包含由报告提供商生成的大量知识。然而&#xff0c;挑战在于&#xff0c;这些报告的内容通常以 PDF 格式存在&#xff0c;使得在处理安全事件或调查时难以检索和引用相关…

Unity学习之UGUI进阶

一、事件监听接口 1、作用 用于实现类型长按、双击、拖拽等基础控件无法实现的功能 所有控件都能够添加更多的事件监听来处理对应的逻辑 2、事件监听接口类型 &#xff08;1&#xff09;常用事件接口 &#xff08;2&#xff09;不常用事件接口 3、使用事件监听接口 &#…

Redis为 List/Set/Hash 的元素设置单独的过期时间

一.业务简介 我们知道&#xff0c;Redis 里面暂时没有接口给 List、Set 或者 Hash 的 field 单独设置过期时间&#xff0c;只能给整个列表、集合或者 Hash 设置过期时间。 这样&#xff0c;当 List/Set/Hash 过期时&#xff0c;里面的所有 field 元素就全部过期了。但这样并不…

【Notepad++】Notepad++如何删除包含某个字符串所在的行

Notepad如何删除包含某个字符串所在的行 一&#xff0c;简介二&#xff0c;操作方法三&#xff0c;总结 一&#xff0c;简介 在使用beyoundcompare软件进行对比的时候&#xff0c;常常会出现一些无关紧要的地方&#xff0c;且所在行的内容是变化的&#xff0c;不方便进行比较&…

APP上架之Android 证书 MD5 指纹

Android 证书 MD5 指纹 1. 什么是 Android 证书 MD5 指纹&#xff1f; Android 证书 MD5 指纹是对证书数据进行 MD5 哈希运算后得到的 128 位字符串。在 Android 开发中&#xff0c;每个证书在理论上都有一个唯一的 MD5 指纹&#xff0c;用于识别和验证证书的有效性。证书指纹…

软件安全性测试有哪些测试方法?

随着数字化进程的加速&#xff0c;软件在各个领域扮演着越来越重要的角色。软件的安全性测试作为保证软件质量和安全的重要环节&#xff0c;逐渐成为企业在开发和部署过程中不可或缺的一部分。 一、软件安全性测试的测试方法   1、静态分析法&#xff1a;通过分析源代码或二…

LabVIEW轴承性能测试系统

本文介绍了基于LabVIEW的高效轴承性能测试系统的设计与开发。系统通过双端驱动技术实现高精度同步控制&#xff0c;针对轴承性能进行全面的测试与分析&#xff0c;以提高轴承的可靠性和寿命。 项目背景 随着工业自动化程度的提高&#xff0c;对轴承的性能要求越来越高。传统的…

57. Three.js案例-创建一个带有聚光灯和旋转立方体的3D场景

57. Three.js案例-创建一个带有聚光灯和旋转立方体的3D场景 实现效果 该案例实现了使用Three.js创建一个带有聚光灯和旋转立方体的3D场景。 知识点 WebGLRenderer&#xff08;WebGL渲染器&#xff09; THREE.WebGLRenderer 是 Three.js 中用于将场景渲染为 WebGL 内容的核…

如何使用vue引入three.js

在 Vue.js 项目中引入和使用 Three.js 是一个常见的需求&#xff0c;Three.js 是一个用于在浏览器中创建和显示动画 3D 计算机图形的 JavaScript 库。以下是一个基本的示例&#xff0c;展示如何在 Vue 项目中引入和使用 Three.js。 1. 创建 Vue 项目 如果你还没有一个 Vue 项…

9.4 visualStudio 2022 配置 cuda 和 torch (c++)

一、配置torch 1.Libtorch下载 该内容看了【Libtorch 一】libtorchwin10环境配置_vsixtorch-CSDN博客的博客&#xff0c;作为笔记用。我自己搭建后可以正常运行。 下载地址为windows系统下各种LibTorch下载地址_libtorch 百度云-CSDN博客 下载解压后的目录为&#xff1a; 2.vs…

【JavaEE进阶】获取Cookie/Session

&#x1f340;Cookie简介 HTTP协议自身是属于 "⽆状态"协议. "⽆状态"的含义指的是: 默认情况下 HTTP 协议的客⼾端和服务器之间的这次通信,和下次通信之间没有直接的联系.但是实际开发中,我们很多时候是需要知道请求之间的关联关系的. 例如登陆⽹站成…

oscp备考 oscp系列——Kioptix Level 1靶场 古老的 Apache Vuln

目录 前言 1. 主机发现 2. 端口扫描 3. 指纹识别 4. 目录扫描 5. 漏洞搜索和利用 前言 oscp备考&#xff0c;oscp系列——Kioptix Level 1靶场 Kioptix Level 1难度为简单靶场&#xff0c;主要考察 nmap的使用已经是否会看输出&#xff0c;以及是否会通过应用查找对应漏…

CSS——2.书写格式一

<!DOCTYPE html> <html><head><meta charset"UTF-8"><title></title></head><body><!--css书写中&#xff1a;--><!--1.css 由属性名:属性值构成--><!--style"color: red;font-size: 20px;&quo…

IT面试求职系列主题-人工智能(一)

想成功求职&#xff0c;必要的IT技能一样不能少&#xff0c;再从人工智能基础知识来一波吧。 1&#xff09;您对人工智能的理解是什么&#xff1f; 人工智能是计算机科学技术&#xff0c;强调创造能够模仿人类行为的智能机器。这里智能机器可以定义为能够像人一样行动、像人一…

Gitee图形界面上传(详细步骤)

目录 1.软件安装 2.安装顺序 3.创建仓库 4.克隆远程仓库到本地电脑 提交代码的三板斧 1.软件安装 Git - Downloads (git-scm.com) Download – TortoiseGit – Windows Shell Interface to Git 2.安装顺序 1. 首先安装git-2.33.1-64-bit.exe&#xff0c;顺序不能搞错2. …

js迭代器模式

以前JS原生的集合类型数据结构&#xff0c;只有Array&#xff08;数组&#xff09;和Object&#xff08;对象&#xff09;&#xff1b; 而ES6中&#xff0c;又新增了Map和Set。四种数据结构各自有着自己特别的内部实现&#xff0c;但我们仍期待以同样的一套规则去遍历它们&…

C语言初阶习题【25】strcpy的模拟实现

1. 首先先调用下库函数&#xff0c;看它实现了什么 2. 我们自己实现一个strcpy函数 3. 改进1 把*destnation和source 写上去&#xff0c;使用后置 4. 改进2 这里直接把赋值操作放到了while的判断条件里面&#xff0c;然后while循环语句什么都不做&#xff0c;放了一个空语句…

【超详细】MIT 液态神经网络(LNNs)——深度学习新动向

✅作者简介:双一流博士,人工智能领域学习者,深耕机器学习,交叉学科实践者。已发表SCI1/区top论文10+,授权专利4件,公开10+。可提供专利思路和指导,提供科研小工具,分享科研经验,欢迎交流! 📌个人主页: https://blog.csdn.net/allein_STR?spm=1011.2559.3001.5343…