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
相关推荐
stevenzqzq9 小时前
git 常用操作
大数据·git
Curvatureflight11 小时前
Git工作流最佳实践:从混乱到优雅
git
wu~97011 小时前
GitHub永不遗忘,使用git push -f来覆盖的提交依旧保留
git·github
Vermouth_0013 小时前
git clone的时候提示access denied
git
qq_4376572714 小时前
清楚本地的git并重新登录
git
jiang_changsheng14 小时前
工作流agent汇总分析 2
java·人工智能·git·python·机器学习·github·语音识别
顶点多余15 小时前
版本控制器-git
linux·git
夔曦15 小时前
Git工程日常下拉/上传完整流程(自用)
git
岱宗夫up15 小时前
GitHub Desktop如何设置中文?这不是个简单问题
git·github
岱宗夫up18 小时前
.env 文件是干啥的?为什么不能提交到 Git?
大数据·git·elasticsearch·搜索引擎·gitee·github·gitcode