Git 命令学习(与VScode对应)

目录

目的

环境

基础命令

进阶操作(包括多分支)


目的

记录一下学习的git命令

环境

Ubuntu 18.04  + VS code

每次使用命令都会结合VS code来看

基础命令

创建仓库

git init

查看当前仓库状态

git status

当什么也没修改时候

当我新加入两个文件时候

提示我工作区有新的未被跟踪的文件

对应于VS code的工作区

现在,我们把t1.cpp加入到暂存区,使用下面的命令

git add ./t1.cpp

git add 命令后面跟需要加入的文件夹

使用之后可以看下图,绿色代表已经放入暂存区

对应到VScode中的

如果需要取消该文件到暂存区点VScode中的 —— ,如下图中的红色框

该方法对应的git命令是

git reset

使用之后就是把t1.cpp 从暂存区撤销到工作区 VS code显示如下

提交代码到本地仓库

git commit -m "first"

对应到VScode中

这时候可以通过git status 看目前的仓库状态

已经有一个commit了

如果要把多个文件添加到暂存区,可以用通配符,比如把所有以.cpp结尾的文件加入到暂存区

git add *.cpp

把所有文件都添加到暂存区

git add .

查看提交记录

git log

可以看到每次提交的记录

git diff

查看简洁提交记录

git log --oneline

查看暂存区和工作区的差异

git diff

git diff 会比较工作目录中工作区与暂存区域中的内容之间的差异。

git diff HEAD

git diff HEAD 会比较工作目录中工作区与最新提交(即 HEAD 指向的提交)之间的差异

加上两个版本号能查看两个版本的差异

git diff 265d44f 1dd8704

查看当前版本和上一个已提交版本的不同

 git diff HEAD~ HEAD

并且该命令后面可以跟上文件名,可以单独查看某个文件的不同

该命令也可以查看两个分支不同的差异

git diff branch1 branch2

删除文件并保存到暂存区

git rm t2.cpp

该命令也可以删除文件夹

可以建立一个.gitignore文件,在文件里面包含的文件或文件夹,每次git add 不会添加到暂存区

把本地代码推送到远端仓库

git push

把远端仓库拉取到本地

git pull

查看所有分支

git branch -a

涉及到多分支的在进阶命令会提到

进阶操作(包括多分支)

创建新分支

git branch t1

创建一个t1的分支

查看目前本地仓库的所有分支

git branch 

上图中带*的分支是我们当前处于的分支

这样操作之后在远端仓库是没有更新本地仓库刚刚创建的分支的

切换分支

git checkout t1

如上图已经切换到t1分支

切换分支还有一个命令

git switch t1

git switch 是从 Git 2.23 版本开始引入的新命令,旨在提供更直观和安全的分支切换体验。

两者的区别

`git switch` 命令可以更好地保证分支操作的安全性,它会禁止在未提交的更改上切换分支(除非使用 `--discard-changes` 选项丢弃更改)。

而 `git checkout` 命令则可以在未提交的更改上创建新分支,这可能导致数据丢失等问题。

可查看该链接更新git版本

升级Git版本-CSDN博客

合并分支

在主线分支上输入命令

git merge t1

把t1分支合并到主线分支

分支删除


当一个分支的工作完成后,你可能希望将其删除。Git提供了删除分支的命令来实现这个功能。

git branch -d branchname


其中,branchname是你希望删除的分支的名称。注意,只有当该分支的修改已经合并到其他分支时,才能被安全地删除。如果分支的修改尚未合并,可以使用强制删除的命令:

git branch -D branchname

在远端仓库删除t1的分支

git push origin --delete t1

深度解析命令

git push命令的深度解析

git push <远程仓库名> <本地分支名>:<远程分支名>

一般来说把本地分支推送到远端同名分支使用

git push origin
git push

这两个命令是相同的功能

origin 是一个远程仓库的别名,通常情况下它是默认的远程仓库名称。在大多数情况下,远程仓库的名称被命名为 origin,但这只是一个约定,可以选择不同的名称。

如果你想把本地的分支推送到远端仓库,但是远端仓库没有该分支,使用下面命令,也可以在t1后面加:加上新的分支名

git push origin t1
 git push origin t1:t2

这样就会t1 分支推送到将本地的 远程仓库,并在远程仓库中创建一个名为 t1 的分支。如果远程仓库中不存在 t1 分支,Git 会自动创建该分支。

git pull命令的深度解析

git pull 命令用于从远程仓库获取最新的代码,并将其合并到当前所在的分支。它的基本语法是:

git pull <远程仓库名> <远程分支名>

要从远程仓库的 main 分支获取最新的代码并将其合并到当前分支(main可以换为自己需要拉取的分支),可以执行:

git pull origin main

从远程仓库的当前分支获取最新的代码,并将其合并到当前分支

git pull

  • 9
    点赞
  • 8
    收藏
    觉得还不错? 一键收藏
  • 2
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论 2
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值