前言

git是一种软件版本管理工具,在多人团队软件开发中地方非常重要。

类似与SVN,git工具可以拉取最新的代码,提交代码等。

git简介

Git 是一个强大的版本控制系统,广泛应用于软件开发和各种项目中。它可以帮助你跟踪项目文件的变化,协作开发,以及恢复到之前的版本。


基础概念:

仓库(Repository):存储项目所有文件和历史记录的地方。
工作区(Working Directory):你当前编辑文件的目录。
暂存区(Staging Area):一个临时区域,用于将你想要提交的更改添加到仓库中。
提交(Commit):将暂存区中的更改永久保存到仓库中。
分支(Branch):创建项目的不同版本,允许并行开发。
远程仓库(Remote Repository):存储在服务器上的仓库,用于与其他开发者协作。


GIT的基本操作

基本操作有如下几个:克隆仓库,提交代码,查看提交代码日志,拉取最新的代码


克隆仓库 (Clone)

首先,你需要将远程仓库克隆到你的本地机器。

使用 git clone 命令,并提供远程仓库的地址:
git clone <远程仓库地址>
例如,如果远程仓库地址是 https://github.com/user/repo.git,则命令为:
git clone https://github.com/user/repo.git

基础语法详情

git clone [选项] 仓库地址 [本地文件夹名]

① 最简用法(默认用仓库名做本地文件夹)

git clone https://gitee.com/xxx/demo.git
# 会自动生成 demo 文件夹

② 指定本地目录名称

git clone https://gitee.com/xxx/demo.git my-project
# 代码下载到 my-project 文件夹

③只克隆单个分支(不用拉全部分支,节省空间)

# -b 指定分支 --single-branch 只拉该分支
git clone -b dev --single-branch https://xxx.git

④浅克隆(只拉最近 N 个提交,超大仓库提速)

# --depth=1 只拉最新1次提交
git clone --depth=1 https://xxx.git

获取最新代码 (Pull)

如果你想要获取远程仓库最新的代码,可以使用git pull命令:
git pull origin main
这会将 origin 远程仓库的 main 分支上的所有更改拉取到你的本地仓库,并自动合并到你的当前分支。

注意:
在进行 git pull 操作之前,确保你处于本地仓库的正确分支。
如果你想获取其他分支的代码,请将 main 替换成目标分支名称。


Git 查看代码变更

  1. 查看所有未提交改动(最常用)
# 工作区 vs 暂存区:看文件内容改动
git diff

只显示已修改但没 add 的文件

  1. 已经 git add 加入暂存,想看暂存内容
git diff --cached
# 等价
git diff --staged
  1. 汇总查看文件变更清单(不看具体代码)
# 简略状态
git status
# 精简版
git status -s
  1. 对比当前和上次提交全部差异
# 工作区+暂存 对比HEAD(最新commit)
git diff HEAD
  1. 指定单个文件查看改动
git diff src/main.c
git diff --cached src/main.c

git config 配置用户信息

在提交代码之前,需要配置git的用户信息(注意:用户信息只是说明当前提交代码的用户信息,不是git账号的用户信息),下面描述怎么通过git config配置用户信息

配置方法:

  1. 全局配置:
    运行以下命令,设置全局的用户名和邮箱地址:
    git config --global user.name "你的用户名"
    git config --global user.email "你的邮箱地址
    这会将用户名和邮箱地址保存在你系统中的 ~/.gitconfig 文件中,影响你系统中所有 Git 仓库。

  2. 仓库配置:
    如果你想要为某个特定的仓库配置不同的用户名和邮箱地址,可以使用以下命令:
    git config user.name "你的用户名"
    git config user.email "你的邮箱地址"
    这会将用户名和邮箱地址保存在仓库的 .git/config 文件中,只影响当前仓库。

  3. 查看配置:
    运行以下命令查看当前配置:
    git config --list
    这将显示所有的 Git 配置选项,包括用户名和邮箱地址。


提交代码到远程仓库的指定分支

提交代码到远程仓库需要以下步骤:

  1. 确认本地代码已更新
    确保你已经将最新的代码拉取到本地仓库,可以使用 git pull 命令:
    git pull origin main
  2. 添加更改到暂存区
    使用 git add 命令将你修改的文件添加到暂存区:
    git add <文件名>
    例如,添加所有修改过的文件
    git add .
  3. 提交更改到本地仓库
    使用 git commit 命令将暂存区中的更改提交到本地仓库,并添加提交信息:
    git commit -m "提交信息"
    例如:
    git commit -m "修复了 bug"
  4. 推送代码到远程仓库
    使用 git push 命令将本地仓库的更改推送到远程仓库:
    git push origin main
    例如:
    git push origin feature
    其中 origin 代表远程仓库的名称,mainfeature 代表你所提交的分支名称。

注意:
确保你的本地仓库与远程仓库同步。
提交信息应该简洁明了,描述此次提交的更改内容。
如果你需要提交到其他分支,请将 main 替换为目标分支名称。
如果你没有权限推送到远程仓库,你需要联系仓库管理员请求权限。

示例:

假设你修改了 index.html 文件并想要提交到 main 分支:

# 拉取最新代码
git pull origin main

# 添加修改到暂存区
git add index.html

# 提交更改到本地仓库
git commit -m "修改了首页标题"

# 推送代码到远程仓库
git push origin main

查看当前分支

如果你远程仓库没有 main 分支,你可以使用以下方法查看当前分支

  1. 使用 git branch 命令
    在你的本地仓库中,运行 git branch 命令,这将列出你本地仓库的所有分支,当前分支用 * 号标记

例如,输出可能类似于:

$ git branch
* feature
  develop

这表明仓库有两个分支:* feature、develop,当前分支是 feature 分支。


创建新的分支

  1. 新建分支并停留在当前分支
git branch 分支名
  1. 新建分支 + 直接切换到该分支(最常用)
git checkout -b 分支名
# Git 2.23+ 推荐新写法
git switch -c 分支名

查看提交代码的日志

如果你想查看所有推送的提交历史,可以使用 git log 命令:

git log

这将显示所有提交的详细信息,包括作者、时间、提交信息和哈希值。

一些额外的选项:

  1. git log --author="你的用户名":查看特定作者的提交记录。
  2. git log --grep="关键词":查看包含特定关键词的提交记录。
  3. git log -p:查看提交内容的差异。
  4. git log --pretty=format:"%h - %ad - %s":自定义输出格式。

撤销提交:待续

GIT的实操


  1. 绑定用户信息
git config --global user.name "用户名"
git config --global user.email "邮箱"

这里的用户名只是提交代码的用户名字(不是git账号的用户名),所以"用户名" 和 “邮箱” 乱填也可以。
但是最好填写具有辨识度的用户名,这样在git的提交历史中可方便辨识代码的提交者。


2.创建本地的Git项目仓库
创建本地的GIT项目仓库,一般都是clone别人的项目、或clone自己创建的项目

具体语法可以查看前面的clone命令

在gitee上可以点击[克隆/下载]的按键,获取远程仓库的地址。
在这里插入图片描述
获取到地址后,可以通过git clone 远程仓库地址来创建本地的git项目仓库


3.修改代码后,可以提交代码变更缓存

待续


4.把代码变更缓存上传到远程仓库

待续

Logo

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

更多推荐