git 常用命令

设置远程仓库地址,就是用origin作为 https://github.com/仓库名字.git 的别名 ,后面用到origin就相当于用这个仓库的地址。你也可以变成其他名字。

复制代码
git remote add origin https://github.com/仓库名字.git

添加所有的文件放到缓存区,此时还没有上传文件到远端:

复制代码
git add .

如果不想所有的文件都上传,可以后面那个.变为修改的文件

复制代码
git add 修改.txt

如果只是暂时不想提交,但想保留修改

复制代码
# 文件回到"已修改但未暂存"状态
git reset

如果有很多文件都要上传,一些大的文件不好上传的就把它忽略了,在.gitignore文件中添加要忽略的文件,直接打开这个文件在最后添加即可。

复制代码
# 打开这个文件
vim .gitignore

我这里就添加了一个文件夹不要上传到远端,添加了之后别忘了保存文件,然后直接正常git add . 就可以了(.gitignore 会自动生效)。

给即将提交的文件做修改说明:

复制代码
git commit -m "这里写修改的解释,防止回退代码的时候不知道回退到哪里"

查看当前分支在哪里

复制代码
git branch

将本地的 master分支推送到远程的 main分支,origin是远端的地址,从一开始就添加绑定好了的

复制代码
git push -u origin master:main

将本地的 "main" 分支代码推送到名为 "origin" 的远程仓库的 "main" 分支, 并建立绑定关系,以后在这个分支上只需输入 "git push" 即可。

复制代码
git push -u origin main

查看哪些文件将被提交

复制代码
git status

查看本地当前分支的提交历史

复制代码
# 查看本地当前分支的提交历史
git log --oneline
# 输出示例:
# d7c8f60 (HEAD -> main) 最新本地提交
# b56ac4d 之前的本地提交
# db4060d 更早的提交

查看远端main分支的提交历史,还记得这个origin嘛,就是远程仓库的地址。

复制代码
git log origin/main --oneline

版本回退

实际例子演示

复制代码
# 查看简洁历史
$ git log --oneline
e4f5g6h (HEAD -> main) 添加支付功能
c3d4e5f 优化用户界面
a1b2c3d 修复登录bug
db4060d 用户注册功能
7890abc 项目初始化

场景1:撤销最近2个提交,前面的包含,后面的不包含

复制代码
# 撤销从"修复登录bug"之后到现在的所有提交
git revert a1b2c3d..HEAD
# 这会依次撤销:"优化用户界面" 和 "添加支付功能"
# 代码回到"修复登录bug"之后的状态

场景2:撤销特定范围

复制代码
# 撤销从"用户注册功能"到"优化用户界面"之间的提交
git revert db4060d..c3d4e5f
# 这会依次撤销:"修复登录bug" 和 "优化用户界面"
# 但不撤销"添加支付功能"
  1. git revert db4060d..HEAD命令已成功开始执行

  2. Git 正在为第一个要 revert 的提交(d7c8f60)生成反向提交

  3. 现在需要您输入提交信息来描述这次 revert 操作

1:使用默认提交信息(推荐)

  1. Ctrl + X (左下角显示为 ^X表示 Ctrl+X)

  2. 会问您是否保存,按 Y(Yes)

  3. 会问您文件名,直接按 Enter(回车)

选项2:自定义提交信息

  1. 在第一行(Revert "修改了..."那一行)可以修改为您想要的描述

  2. 然后按 Ctrl + X ​ → Y ​ → Enter

选项3:取消操作

  1. 删除所有文本(包括默认的那两行),让文件为空

  2. Ctrl + X ​ → Y ​ → Enter

  3. 这将会取消整个 revert 操作

重要提示

  1. 这是正常流程 :每次 git revert一个提交时,Git 都会打开编辑器让您确认提交信息

  2. 可以跳过编辑器:如果您想自动使用默认信息,可以这样:

    复制代码
    git revert --no-edit db4060d..HEAD
相关推荐
孫治AllenSun1 小时前
【Git】分支管理
git
安果移不动1 小时前
【Git实战】记录一次分支切换失败的排查:Submodule 脏状态与强制切换
git
痕忆丶2 小时前
git 软重置的使用场景git reset --soft HEAD~1
git
杰瑞学AI3 小时前
在Git的缩写哈希中踩的坑
git
dragoooon344 小时前
[Linux网络基础——Lesson9.「TCP 全连接队列与 tcpdump 抓包」]
前端·git·github
大、男人5 小时前
分享一个git设备代理的方法
git
悟悟悟!5 小时前
git使用笔记:git日常工作流和命名规范
笔记·git·elasticsearch
漏洞文库-Web安全5 小时前
CTFHub 信息泄露通关笔记9:Git泄露 Index - 指南
笔记·git·安全·web安全·elasticsearch·网络安全·ctf
weixin_307779135 小时前
深度解析 Jenkins Git Client 6.4.0 插件:核心功能、应用场景与最佳实践
运维·git·架构·jenkins