git常用操作

1. 查看暂存区内容

git status

git status 的输出会清晰地分为几个部分:

Changes to be committed: (将被提交的变更)

  • 这部分就是您的暂存区内容。 列在这里的文件表示它们已经被 git add,等待下一次 git commit

Changes not staged for commit: (尚未暂存的变更)

  • 这部分列出了您已经修改、但还没有 git add 的文件。

Untracked files: (未跟踪的文件)

  • 这部分是项目中新创建的、Git 还从未管理过的文件。
复制代码
(base) root@...# git status
On branch main
Your branch is up to date with 'origin/main'.

Changes to be committed:
  (use "git restore --staged <file>..." to unstage)
        modified:   README.md         <-- 这个文件在暂存区
        new file:   new_feature.py    <-- 这个新文件也在暂存区

Changes not staged for commit:
  (use "git add <file>..." to update what will be committed)
  (use "git restore <file>..." to discard changes in working directory)
        modified:   config.yaml       <-- 这个文件被修改了,但未暂存

Untracked files:
  (use "git add <file>..." to include in what will be committed)
        temp.log                      <-- 这个文件是全新的,未被跟踪

2. 查看暂存区里的文件具体修改了哪些代码行

git diff --staged

  • --- 开头的行代表旧文件(来自上次提交)。
  • +++ 开头的行代表新文件(来自暂存区)。
  • - (通常是红色) 开头的行表示被删除的内容。
  • + (通常是绿色) 开头的行表示被添加的内容。
复制代码
diff --git a/README.md b/README.md
index 3b18e51..5a13240 100644
--- a/README.md
+++ b/README.md
@@ -1,3 +1,4 @@
 # RK_series Project
 This is a project for RK series development.
-Initial version.
+
+Version 1.1, with new features.

3. 清空暂存区

复制代码
# 把暂存区恢复到干净状态
git reset

4. 查看最近的提交历史,撤销

git log --oneline

git reset

复制代码
# 查看最近的提交历史,找到添加大文件之前的那个提交的 commit hash
git log --oneline

# 假设添加大文件之前的那个提交是 a1b2c3d
# 我们要撤销它之后的所有提交
git reset a1b2c3d

# 或者,如果您确定只搞砸了最近一次提交,可以简单地:
git reset HEAD~1

成功地将 test 分支的"指针"(HEAD)移回到了 23b8481 这个提交上。这个提交是远程仓库 origin/test 的最新版本。所有在它之后的提交(9a41444, a47ebc7, 970058f)都已经被撤销了。

5. 忽略上传指定文件

在项目目录下新建 .gitignore 文件:

然后先add .gitignore ,再add .要传的文件夹,git会自动跳过这个文件夹下所有的.onnx 和 .rknn 和 .pt。

6. win到linux换行符警告

  • CRLF :Windows 系统使用的换行符,表示回车符(\r)和换行符(\n)的组合。
  • LF :Unix 和 Linux 系统使用的换行符,仅表示换行符(\n)。

git config --global core.autocrlf true

设置为 true (Windows 上使用 CRLF,但提交时转换为 LF

相关推荐
古城小栈1 小时前
Git换行符解析:CRLF 与 LF 的区别及统一策略
git
无限进步_1 小时前
C++初始化列表详解:语法、规则与最佳实践
java·开发语言·数据库·c++·git·github·visual studio
无限进步_2 小时前
C++运算符重载完全指南:从基础到实战应用
开发语言·数据库·c++·windows·git·github·visual studio
郑州光合科技余经理2 小时前
PHP技术栈:上门系统海外版开发与源码解析
java·开发语言·javascript·git·uni-app·php·uniapp
weixin_395448913 小时前
令牌交代码
git·支持向量机·启发式算法
悟能不能悟4 小时前
git如何修改密码
git
AA陈超4 小时前
只想克隆项目中的 Source 文件夹,而不影响其他内容
笔记·git·学习
量子炒饭大师4 小时前
David自习刷题室——【蓝桥杯刷题备战】乘法表
c语言·c++·git·职场和发展·蓝桥杯·github·visual studio