Git 命令行快速入门

前言

(1)新手个人建议使用TortoiseGit这类图形化界面来上手学习。
(2)如果一定需要用命令行进行操作,可以按照B站:程式与网页开发者必备技能!Git 和 GitHub 零基础快速上手,轻松掌握版本控制的要诀!视频教程来。
(3)上述视频教程讲解的非常好,我这里只是在该视频基础上稍微增加几条可能会使用到的命令。

Github操作

创建仓库

(1)创建仓库。

在这里插入图片描述

(2)输入仓库名称,然后创建。

在这里插入图片描述

查看仓库提交记录

(1)如果想在Github上查看仓库的提交信息,进行如下方法即可查看。

在这里插入图片描述

合并分支

(1)如果我们现在有多个分支,在会出现下图这样的情况。

在这里插入图片描述

(2)

在这里插入图片描述

(3)

在这里插入图片描述

(4)

在这里插入图片描述

(5)

在这里插入图片描述

(6)如果发现没有问题,进行合并

在这里插入图片描述

首次使用Git需要设置用户信息

(1)首次在电脑中使用Git,需要输入如下两条命令设置当前用户姓名用户邮箱
非首次使用Git的用户,不需要执行该操作。

# 设置用户名
git config --global user.name "myname"
# 设置用户邮箱
git config --global user.email "myemail"

在这里插入图片描述

常用命令介绍

初始化Git仓库

(1)执行如下操作进行初始化,最终会生成一个.git隐藏文件,用于跟踪版本,存储档案变更历史和备份记录。

# 初始化 Git 仓库
git init

在这里插入图片描述

查看仓库文件状态

(1)Git 仓库有四种状态:

  • Untracked(未追踪):该状态下,Git不会记录他们的内容变更和编辑历史。需要使用git add命令转换为下一个状态。
  • Tracked(已追踪):此时Git会追踪该文件,但文件内容与上一次提交时的内容相同。通俗来说,它们在上次提交后没有被修改过。需要使用git commit命令转换为下一个状态。
  • Staged(已暂存):这时会记录修改后的文件信息。需要使用git push命令转换为下一个状态。
  • Committed(已提交):此时本地仓库和远程仓库同步成功。
# 查看当前目录下文件状态
git status
# 以简短的格式显示当前目录下文件状态,推荐该命令
# ?? : 未追踪(Untracked)
# A : 已追踪,新增文件
# M : 已经被修改的文件,但是没有被暂存
# 
git status -s

追踪文件

(1)初始化仓库之后,Git 需要知道要追踪那些文件,因此可以使用如下命令进行追踪。

# git add : 追踪文件
# . : 追踪当前目录下所有文件
git add .

忽略追踪特定文件

.gitignore文件

(1)在一个工程中,我们可能有一部分文件不需要,例如工程打编译产生的build/文件夹。

# 创建一个 .gitignore 文件
touch .gitignore
# 在 .gitignore 文件中加入要屏蔽的文件/文件夹
build/

对于已经追踪打文件取消追踪

(1)该命令用于从Git的暂存区(索引)中删除文件或目录,同时保留工作目录中的文件。这意味着文件或目录将不再被Git追踪,但它们仍然会保留在你的本地文件系统中。
(2)一般是编译的过程文件被误操作追踪,使用该命令进行取消追踪。
(3)虽然说使用该命令可以将文件从Git的暂存区删除。但是需要注意,执行完该命令之后,还需要将要忽略的文件添加进入.gitignore文件,防止再次被误追踪。

# git rm: 删除文件或目录。
# -r: 递归删除,即删除目录及其内容。
# --cached: 仅从暂存区删除文件或目录,不从工作目录中删除。
git rm -r --cached <File>

### 示例 ###
git rm -r --cached build/
# 然后进入 .gitignore 文件添加如下内容
build/

提交

(1)当Git成功追踪了工程之后,我们需要

# 打开编辑器编写详细提交消息。Ctrl+X退出编辑。
git commit
# 提交简短的更改信息。
git commit -m "first commit"
# 如果上一次提交信息有问题,可以使用该命令进行修改。Ctrl+X退出编辑。
git commit --amend

查看提交信息

(1)我们可以使用如下命令查看提交历史。

# 查看提交历史
git log
# 查看简化版的提交历史
git log --oneline
# 退出查看
q

在这里插入图片描述

版本对比

(1)如果出现了问题,我们可以使用如下命令对比版本信息。

# 先使用查看提交 ID
git log --oneline
# 版本对比
# git diff : 进行版本对比
# 8f3b66f : 提交ID
# ./main/hello_world_main.c : 要对比的文件
git diff 8f3b66f -- ./main/hello_world_main.c

在这里插入图片描述

版本回退

保留历史记录的回退

(1)如果是因为某个文件的错误导致出现了问题,我们就可以进行版本回退。
(2)该方式能够回退指定文件,并且不会将历史记录进行删除,是属于比较安全的版本回退方法。

# git checkout : 保留历史记录的版本回退
# 8f3b66f :  提交ID
# ./main/hello_world_main.c : 要回退的文件
git checkout 8f3b66f  -- ./main/hello_world_main.c

不保留历史记录的回退

(1)如果某个版本出现了问题,但是仅仅只修改特定的文件发现没有成功。我们可以使用如下命令将整个工程环境回退到能够使用的版本。
(2)需要注意,这个操作是不可逆的。如果想知道最新版本的仓库情况,需要重新拉取或者提前备份

git reset --hard <commit ID>

克隆项目

(1)如果你想获取他人的仓库,可以先按照如下方法获取地址信息。

在这里插入图片描述

(2)按照如下方法克隆即可。

git clone <仓库地址>

将本地文件上传至云端

(1)在本地修改工程后,我们还需要将本地的工程推送到云端才可以和其他人一起合作。

git push

将云端文件下载到本地

(1)如果同事将工程进行了修改,我们需要和他们的环境同步,执行下面的内容同步。

git pull

查看分支信息

(1)一个工程可能有多个分支,我们可以使用如下命令查看。

git branch

创建分支

# git checkout : 切换分支
# -b : 创建并切换至新分支
git checkout -b <新分支名>

切换分支

# 查看目前有多少个分支
git branch
# 切换分支
git checkout <分支名>

常用操作介绍

仓库首次创建推送

(1)

git init
git add .
git commit -m <内容>
# 将本地和远端的存储库进行连结
git remote add origin <仓库地址>
# 该操作只是对分支进行一个改名,可以不进行操作
# git branch : 分支管理
# -M : 重命名
git branch -M main

# 执行完下面这条命令之后,刷新仓库页面即可看到本地仓库信息
# git push : 将本地仓库的更改推送到远程仓库
# -u : 设置本地分支与远程分支的关联,即上游分支。这样做的好处是,之后可以简化 git pull 和 git push 命令,不需要每次都指定远程分支。

git push -u origin <分支>

新增工程文件并进行上传

(1)

git add . 
git commit -m "增加文件"
# 将这个提交推送至Github
git push

删除工程文件

(1)

git add .
git commit -m "删除文件"

README.md文件

(1)一个开源仓库给他人使用时候,别人是不知道具体信息的,因此需要添加一个README.md文件进行说明。

# 创建一个 README.md 文件,并且向该文件内输入# test
echo "# test" >> README.md

在这里插入图片描述

参考

(1)B站:程式与网页开发者必备技能!Git 和 GitHub 零基础快速上手,轻松掌握版本控制的要诀!

相关推荐

  1. Git命令

    2024-07-10 21:50:04       22 阅读
  2. git命令提交——github

    2024-07-10 21:50:04       38 阅读
  3. git 的基本命令

    2024-07-10 21:50:04       37 阅读
  4. git 创建分支--命令

    2024-07-10 21:50:04       19 阅读

最近更新

  1. docker php8.1+nginx base 镜像 dockerfile 配置

    2024-07-10 21:50:04       52 阅读
  2. Could not load dynamic library ‘cudart64_100.dll‘

    2024-07-10 21:50:04       54 阅读
  3. 在Django里面运行非项目文件

    2024-07-10 21:50:04       45 阅读
  4. Python语言-面向对象

    2024-07-10 21:50:04       55 阅读

热门阅读

  1. 【对抗算法复现】CW

    2024-07-10 21:50:04       15 阅读
  2. vscode无法切换env环境

    2024-07-10 21:50:04       23 阅读
  3. GCN-LSTM实现时空预测

    2024-07-10 21:50:04       20 阅读
  4. 泛型

    泛型

    2024-07-10 21:50:04      20 阅读
  5. 二分查找(红绿标记法)

    2024-07-10 21:50:04       20 阅读
  6. uniapp开发踩过的坑合集( 持续更新 )

    2024-07-10 21:50:04       16 阅读
  7. 算法之工程化内容(1)—— Linux常用命令

    2024-07-10 21:50:04       20 阅读