Git入门指南:从小白到版本控制之道

引言: 作为一名程序员,了解并掌握版本控制工具是必不可少的。而Git作为目前最流行的分布式版本控制系统,无疑是每个开发者都应该学会的工具。本文将为初学者提供一个简明扼要的Git入门指南,帮助你快速上手使用Git,并附带相关代码示例,以便更好地理解Git的基本概念和操作。

1. 安装Git:首先,你需要在电脑上安装Git。你可以从Git官方网站下载并安装适合你操作系统的版本。

2. 开发目录

以下操作皆在VScode下操作

在开始之前,我们需要确定当前的开发目录。VScode中通过使用 PWD 命令可以获取当前目录地址,而Git仓库的初始化则需要使用 git init 命令。下面是相关步骤:('$'后为键盘键入字符,'#'后为注释)

bash 复制代码
$ PWD # 获取当前目录地址
/home/user/myproject

$ git init # 初始化代码目录为代码仓库
Initialized empty Git repository in /home/user/myproject/.git/ #反馈

在执行完 git init 后,会收到一个反馈,表示成功初始化了一个代码仓库。这时需要注意以下几点:

  • Git仓库不能嵌套,即在已经是一个Git仓库的目录下再执行 git init 是无效的。
  • .git 文件夹是仓库的秘密,不要去动它。
  • 默认的主分支名为 master 或者 main
  • HEAD 指针默认指向最近一次提交的文件夹。
  • 仓库分为暂存区(stage)和仓库两部分。

3. 本地代码仓库

Git是一个开源的版本控制系统,它能够管理代码仓库中文件的多个版本。这里我们将介绍将文件添加到仓库的步骤,需要使用 git addgit commit 命令。为了更好地理解这两个步骤为什么是必需的,我们将进行一些补充说明。

在进行代码开发时,可能会涉及多个文件的修改,例如HTML、CSS和JS文件构成一个任务,比如登录页面的开发。因此,我们需要将这些文件一起添加到仓库中。具体步骤如下:

ruby 复制代码
bashCopy Code
$ git add <file> # 将文件添加进暂存区(stage),逐个文件输入提交
$ git commit -m 'message' # 对改动打包进行一次性提交并添加一个简短的描述信息

例如,如果我们完成了登录页面的开发,可以执行以下命令:

ruby 复制代码
bashCopy Code
$ git add login.html login.css login.js
$ git commit -m 'Completed development of login page'

这样我们就成功地向仓库中添加了文件并进行了提交。

4. Git的分布式特性

Git是一个分布式的版本控制系统,它支持本地仓库、远程仓库和合作伙伴仓库之间的交互和同步。这使得团队协作变得更加便捷。下面是一些相关说明:

  • 本地仓库:刚才我们在本地初始化的代码仓库即为本地仓库。
  • 远程仓库:用于与远程服务器上的代码仓库进行交互,例如GitHub、GitLab等。
  • 合作伙伴仓库:与其他开发人员共享代码的仓库。

5. 严格的代码提交

在进行代码提交之前,我们一定要保持清醒状态,并且清楚了解当前的修改和上一次的修改之间有哪些差异。可以使用 git diff 命令来比较修改,以便在提交前进行检查。

此外,在使用 git commit -m '<message>' 命令时,我们需要注意填写合适的提交信息。提交信息应该清晰明确地描述完成了什么任务。这对项目的管理和追踪非常重要。团队中的领导者通常会通过查看提交信息来了解团队的工作进展。

6. 其他常用命令和操作

以下是一些其他常用的Git命令和操作:

  • git status:随时了解暂存仓库的状态,包括已修改和未追踪的文件。
  • git log:打印所有的提交记录,可使用 --oneline 参数以简短的方式显示。每个提交都有一个唯一的ID标识(hash),而 HEAD 指针指向最新的一次提交。默认分支名为 master 或者 main
  • git reset:可以快速回到某个特定版本,相当于使用了时间机器。使用 git reset --hard <commit_id> 命令可以回退到指定的提交版本。
  • git reflog:查看所有的操作记录,可以帮助我们找回丢失的提交。
相关推荐
知否技术12 分钟前
别再踩坑了!这份 Vue3+TypeScript 项目教程,赶紧收藏!
前端·typescript
IT_陈寒15 分钟前
JavaScript 2024:10个颠覆你认知的ES新特性实战解析
前端·人工智能·后端
meng半颗糖24 分钟前
JavaScript 性能优化实战指南
前端·javascript·servlet·性能优化
EndingCoder26 分钟前
离线应用开发:Service Worker 与缓存
前端·javascript·缓存·性能优化·electron·前端框架
遗憾随她而去.38 分钟前
css3的 --自定义属性, 变量
前端·css·css3
haogexiaole3 小时前
vue知识点总结
前端·javascript·vue.js
哆啦A梦15885 小时前
[前台小程序] 01 项目初始化
前端·vue.js·uni-app
小周同学@7 小时前
谈谈对this的理解
开发语言·前端·javascript
Wiktok7 小时前
Pyside6加载本地html文件并实现与Javascript进行通信
前端·javascript·html·pyside6
一只小风华~7 小时前
Vue:条件渲染 (Conditional Rendering)
前端·javascript·vue.js·typescript·前端框架