Git与GitHub的基本操作

工作区 ————> 暂存区 ————> 版本库 ————> 远程仓库
git add git commit git push

工作区:你在电脑上编写代码或文件的目录
暂存区:用于存储即将提交到版本库中的修改
版本库:管理所有文件的修改和历史记录
远程仓库:GitHub 等代码托管平台上的仓库


一、Git

Git 是一种 分布式版本控制系统,可以记录文件的每一次修改,方便查看历史、回退版本以及多人协作开发。

1. 创建项目

  1. 创建新文件夹

    mkdir project
    

project 指项目文件夹名称)

  1. 进入文件夹

    cd project
    
  2. 初始化仓库

    git init
    

执行后,当前目录会生成一个 .git 文件夹,用于存储 Git 的版本管理信息,此时该目录就成为一个 Git 仓库。

  1. 编写或修改文件

例如创建一个文件:

touch main.c

或者直接编写代码、文档等内容。

  1. 添加到暂存区

    git add
    

常见用法:

添加单个或多个文件

git add [file1] [file2] ...

添加指定目录及其子目录

git add [dir]

添加当前目录下的所有改动

git add .
  1. 提交到本地仓库

    git commit
    

常见用法:

提交暂存区的所有内容

git commit -m "写注释"

提交暂存区的指定文件

git commit [file1] [file2] ... -m "写注释"

其中 -m 后面的内容是 本次提交的说明信息,用于描述本次修改的内容。


2. 版本历史

Git 会记录每一次提交的版本信息,开发者可以随时查看历史版本。

查看提交历史

git log

或者简洁显示

git log --oneline

查看当前仓库状态

git status

该命令可以查看:

  • 哪些文件被修改
  • 哪些文件在暂存区
  • 哪些文件还没有被 Git 管理

查看文件修改内容

git diff

用于查看工作区和暂存区之间的差异。


3. 版本回退

在开发过程中,如果某次修改出现问题,可以回退到之前的版本。

回退到指定版本

git reset --hard [commitID]

其中 commitID 可以通过 git log 查看。

回退到上一个版本

git reset --hard HEAD^

说明:

  • HEAD 表示当前版本
  • HEAD^ 表示上一个版本
  • HEAD^^ 表示上两个版本

二、Git 与 GitHub 的协作

Git 负责 本地版本管理,而 GitHub 提供 远程代码托管服务,二者结合可以实现代码备份和团队协作。

场景一:推送本地项目到 GitHub

1. 在 GitHub 上创建空的远程仓库

  1. 点击右上角 “+”
  2. 选择 New repository
  3. 仓库名建议和本地文件夹名保持一致
  4. 点击 Create repository

2. 连接本地仓库与远程仓库

git remote add origin https://github.com/...(HTTPS 或 SSH)

说明:

  • origin 是远程仓库的默认名称
  • 后面是 GitHub 仓库地址

可以使用以下命令查看远程仓库:

git remote -v

3. 推送代码到 GitHub

git push -u origin main

说明:

  • origin:远程仓库名
  • main:主分支名称
  • -u:建立本地分支与远程分支的关联

以后再提交代码,只需要:

git push

场景二:克隆一个已经存在的项目

如果 GitHub 上已经有项目,可以直接下载整个仓库到本地。

1.打开想要克隆项目的 GitHub 页面

2. 点击绿色 <> Code 按钮

3. 复制 HTTPS 地址

4. 打开终端,进入想存放项目的目录

git clone https://github.com/....

5. 进入项目文件夹

cd 项目名

克隆完成后,该项目已经包含完整的 Git 历史记录,可以直接进行开发和提交。


三、常见 Git 工作流程

一个典型的 Git 开发流程如下:

  1. 修改或编写代码(工作区)
  2. git add 添加到暂存区
  3. git commit 提交到本地仓库
  4. git push 推送到远程仓库 GitHub

整体流程:

工作区 → 暂存区 → 本地仓库 → 远程仓库

对应命令:

git add → git commit → git push

通过 Git 与 GitHub 的结合,可以实现 版本管理、代码备份以及团队协作开发,是现代软件开发中最重要的工具之一。

Logo

腾讯云面向开发者汇聚海量精品云计算使用和开发经验,营造开放的云计算技术生态圈。

更多推荐