当前位置: 首页 > news >正文

git的基本了解

git命令是一些命令行工具的集合,它可以用来跟踪,记录文件的变动。比如你可以进行保存,比对,分析,合并等等。这个过程被称之为版本控制。已经有一系列的版本控制系统,比如SVN, Mercurial, Perforce, CVS, Bitkeepe等等

Git是分布式的,这意味着它并不依赖于中心服务器,任何一台机器都可以有一个本地版本的控制系统,我们称之为仓库

1.安装Git

安装git非常直接:

  • Linux – 打开控制台,然后通过包管理安装,在Ubuntu上命令是:

sudo apt-get install git-all

  • Windows – 推荐使用git for windows,它包括了图形工具以及命令行模拟器。
  • OS X – 最简单的方式是使用homebrew安装,命令行执行

brew install git

如果你是在是先用图形工具的话,那么推荐你使用Github desktop,Sourcetree

2.配置Git

安装完git,首要任务是配置我们的信息,最重要的是用户名及邮箱,打开终端,执行以下命令。

$ git config --global user.name "My Name"

$ git config --global user.email myEmail@example.com

配置好这两项,用户就能知道谁做了什么

3.创建一个新仓库 – git init

git 会把所有文件以及历史记录保存在你的项目中,创建一个新的仓库,首先要去到项目路径,执行 git init。然后git会创建一个隐藏的文件夹.git,所有的信息都储存在其中。

在桌面创建一个联系文件夹 git_exercise, 打开终端:

$ cd Desktop/git_exercise/

$ git init

4.检查状态 – git status

git status 是另一个非常重要的命令,它会告诉我们创库的当前状态:是否为最新代码,有什么更新等等执行git status:

$ git status

On branch master

Initial commit

Untracked files:

(use "git add ..." to include in what will be committed)

hello.txt

git 告诉我们,hello.txt尚未跟踪,这是因为这个文件是新的,git不知道是应该跟踪它的变动呢,还是直接忽略不管呢。为了跟踪我们的新文件,我们需要暂存它

5.暂存 – git add

git 有个概念叫 暂存区,你可以把它看成一块空白帆布,包裹着所有你可能会提交的变动。它一开始为空,你可以通过 git add 命令添加内容,并使用 git commit 提交。

这个例子中只有一个文件:

$ git add hello.txt

如果需要提交目录下的所有内容,可以这样:

$ git add -A

再次使用git status查看:

$ git status

On branch master

Initial commit

Changes to be committed:

(use "git rm --cached ..." to unstage)

new file: hello.txt

我们的文件已经提交了。状态信息还会告诉我们暂存区文件发生了什么变动,不过这里我们提交的是一个全新文件

6.提交 – git commit

一次提交代表着我们的仓库到了一个交付状态,通常是完成了某一块小功能。它就像是一个快照,允许我们像使用时光机一样回到旧时光。

创建提交,需要我们提交东西到暂存区(git add),然后:

$ git commit -m "Initial commit."

这就创建了一次提交,-m “Initial commit.”表示对这次提交的描述,建议使用有意义的描述性信息

http://www.gsyq.cn/news/1635856.html

相关文章:

  • GPT-4与GPT-4 Turbo核心差异:上下文、知识、稳定性与成本的工程真相
  • 计算机毕业设计之jsp克拉玛依职业技术学院信息工程系网站
  • Db2数据库手工SQL注入实战:从原理到靶场复现
  • E-Hentai下载器完整指南:3分钟掌握免费画廊打包技巧
  • 2025终极指南:如何轻松突破Google Drive PDF下载限制的3个关键步骤
  • 是谁给你的身份?中小政企轻量化本地 IAM 通用部署与选型全指南
  • 【下一代智慧养老:架构与实战连载】前言
  • 2026最新智习室合作盈利分析 看完就清楚能不能赚到钱
  • AI驱动测试用例生成:OmX工具实践与测试工程师转型
  • 云计算为企业带来竞争优势的9种方式
  • Java面试通关⑧:Spring核心IoC/AOP全集
  • 核内调度问题的分层优化:缓存管理与性能均衡策略 问题 3 的模型建立与求解 模型设计与分析+实验分析
  • Transformers.js:重新定义浏览器端AI推理的架构范式
  • 从零手搓大模型前置知识(附录二)PyTorch GPU 训练基础
  • GB 34660-2026深度解读:EMC新国标来了,为什么我说没人能100%合规
  • 别被低价模板带偏,真正该看的是建站公司的全案能力
  • 边缘计算+PLC融合|PLC用了20年还在“卡脖子”?四大产线困局你中了几条?
  • 【Windows + VSCode】ORB-SLAM2 从零下载、编译到运行示例完整复现教程
  • QT系统篇(5)(下)
  • 网盘下载慢到抓狂?这个开源浏览器脚本让你轻松获取高速直链
  • 机械工程论文降AI工具免费推荐:2026年机械工程毕业论文降AI4.8元知网达标完整方案
  • 架构评审数据化:别让评审会只剩观点碰撞
  • NVIDIA Profile Inspector:解锁显卡隐藏性能,让你的游戏体验飞起来
  • 华硕笔记本轻量级控制中心:释放硬件潜力的终极解决方案
  • GDSDecomp技术实现:PCK文件极速修改与Godot逆向工程架构设计
  • 自己写一个《英雄无敌3》战斗AI
  • 免费分享最新IDEA安装及授权教程(附带文件)
  • 终极指南:40+经典DSGE模型库如何加速你的宏观经济研究
  • FigmaCN:5分钟快速汉化Figma界面,中文设计师的完整解决方案
  • GTA5终极修改器YimMenu:10分钟快速上手指南