当前位置: 首页 > 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.jsqmd.com/news/1123873/

相关文章:

  • 学术科研选模型的本质:任务-能力匹配三原则
  • HackDroid:移动端Android安全测试与逆向分析工具箱实战指南
  • 无线鼠标持续充电技术的演进——6.78MHz磁共振国产方案的崛起
  • Db2数据库手工SQL注入实战:从原理到靶场复现
  • 2025终极指南:如何轻松突破Google Drive PDF下载限制的3个关键步骤
  • TVA在具身智能商业化部署中的技术突破(14)
  • E-Hentai下载器完整指南:3分钟掌握免费画廊打包技巧
  • 是谁给你的身份?中小政企轻量化本地 IAM 通用部署与选型全指南
  • 找人做AI系统之前,这5个坑你一定要知道
  • GB 14881-2025对食品工作服提出了哪些新要求?
  • 计算机毕业设计之jsp克拉玛依职业技术学院信息工程系网站
  • 2026最新智习室合作盈利分析 看完就清楚能不能赚到钱
  • QLoRA技术从入门到精通
  • 毫米波芯片技术助力太空通信革新
  • 哈夫曼编码:压缩算法中的“最优解”
  • 毕设一条龙都包含什么?从选题到答辩,每项干什么、值不值(明码思路)
  • 金融投资公司出海后,通常选哪家实体管理供应商?
  • 【下一代智慧养老:架构与实战连载】前言
  • 为什么有些人成功后,反而败得越快?
  • AUTOSAR通信栈CAN LIN FlexRay实现:构建汽车网络通信系统
  • AI剪辑技术解析:从素材到故事的自动化创作实践
  • 云计算为企业带来竞争优势的9种方式
  • hello-agents学习笔记
  • AI驱动测试用例生成:OmX工具实践与测试工程师转型
  • 核内调度问题的分层优化:缓存管理与性能均衡策略 问题 3 的模型建立与求解 模型设计与分析+实验分析
  • Java面试通关⑧:Spring核心IoC/AOP全集
  • PyInstaller Extractor终极指南:3步轻松提取打包Python应用内容
  • 第40章 「一飞冲天」—— 秀秀篇
  • 终极E-Hentai漫画下载指南:一键批量下载,轻松搞定海量漫画收藏
  • 3步实现单机多人分屏游戏:Nucleus Co-Op分屏工具完全指南