git 常用命令
本人日常使用git命令记载.
引言:闲,回想刚毕业大佬用的是命令行提交代码,自己一直用图形化界面提交,故收集自己日常用的命令记录下,不用每次都百度.
1.提交到暂存区
git add . 添加所有文件
git add src/pages/home.js单个文件添加
git add src/components/Button.js src/styles/global.css多个文件添加
2.查看文件区别
git status 是一个常用的命令,它可以显示工作目录和暂存区的状态,包括哪些文件已被添加到暂存区。
git diff + 具体路径 查看具体文件
git diff --staged 命令用于显示暂存区和最新提交之间的差异,通过这个命令你可以查看哪些文件被添加到了暂存区以及这些文件具体的修改内容。
git diff HEAD 命令通常用于查看工作区和最近一次提交之间的差异。 --stat 加上这个就是简化显示,只显示更改的文件
git diff HEAD -- src/main/java/MyClass.java
b 键:按下 b 键可以向后滚动一屏,也就是向上翻页,显示上一部分的内容。
j 键:按下 j 键可以向下滚动一行。
k 键:按下 k 键可以向上滚动一行。
q 键:按下 q 键可以退出 less 界面,回到命令行终端。
HEAD~1 表示 HEAD 的前一个提交,HEAD~2 表示 HEAD 的前两个提交.
3.提交本地仓库
git commit -am "your commit message"
-a:代表 git add提交文件到暂存区
-m:message
4.分支操作
git branch -vv 查看所有本地分支及其跟踪的远程分支
拉取所有远程分支:git fetch --all。
git checkout -b <分支名> origin/<分支名> 切换分支
git checkout abcdef123456 -- path/to/your/file.txt回滚到某个版本
5.代码推送与更新
更新本地分支:git pull origin <分支名>。
git fetch
拉去远程仓库代码到暂存区
git pull
拉取远程代码并合并到本地代码,相当于fetch和merge
git push
提交到远程仓库
6.git 记录查看
git log 查看提交记录
git log -n 3 最近三条记录
git log --since="2025-02-01" # 查看 2025 年 2 月 1 日之后的提交记录
git log --until="2025-02-20" # 查看 2025 年 2 月 20 日之前的提交记录
git log --author="John Doe" # 查看作者为 John Doe 的提交记录
git log --grep="Update" # 查看提交说明中包含 "Update" 的提交记录
git log -p
git log origin/branch 查看远程提交
该选项会在每个提交记录后面显示该提交所做的具体文件更改,包括新增、修改和删除的行。
如果你只想查看某个文件的详细更改记录,可以结合文件名使用
git show hashcode 查看提交的内容
7.偶尔用到stash,revert,reset,restore
git stash
命令允许你将当前工作目录和暂存区的修改保存起来,以便你可以切换到另一个分支或执行其他操作,
而不会丢失未提交的修改。这在你需要临时切换上下文,但不想提交未完成的工作时非常有用。
git stash save -m "描述信息"
git stash list
stash@{0}:是 stash 的存储编号,0 表示最新的存储,数字越大存储的时间越久
git stash apply
将最近一次保存的 stash 条目应用到当前工作目录和暂存区。如果有冲突,你需要手动解决冲突。
git stash drop 0
git stash delete 0
git revert HEAD:撤销最近一次提交
git revert <commit-hash>
git revert abc123..def456:撤销从 abc123 到 def456 之间的所有提交(包括 abc123,但不包括 def456),并为每个撤销操作创建新的提交。
git revert abc123^..def456:撤销从 abc123 的父提交到 def456 之间的所有提交(包括 abc123 和 def456),并为每个撤销操作创建新的提交。
git revert 会创建新的提交,因此会改变提交历史的分支。如果你想直接修改历史,可以使用 git reset,但这通常不推荐,因为它会改变提交历史,可能导致协作问题
git reset --soft HEAD~1
假设你刚刚提交了一个功能,但发现其中有个小错误,你想撤销提交,但保留修改在暂存区
git reset --hard abc123
如果你想完全回滚到某个历史状态,并且不关心之后的修改(非常危险,会丢失数据)
(注:如果你已经将修改推送到远程仓库,使用 git reset 可能会导致问题,因为它会改变提交历史。其他开发人员在拉取时可能会遇到困难。如果你已经推送,更好的做法可能是使用 git revert,它会创建一个新的提交来撤销修改,而不是改变历史)
当在 Git 中对文件进行了修改但未提交时,撤销修改的操作如下:
1. **仅撤销工作区文件修改(修改未添加到暂存区)**:
- **Git 较旧版本**:使用 `git checkout -- <file>` 命令,`<file>` 为要撤销修改的文件名;若撤销所有文件修改,使用 `git checkout -- .`。
- **Git 2.23 及以上版本**:使用 `git restore <file>` 命令,同样,`<file>` 为文件名,撤销所有文件修改用 `git restore .`。
2. **撤销暂存区文件修改(已使用 git add 添加修改到暂存区)**:
- **使用 `git reset` 命令**:`git reset <file>` 可将指定文件从暂存区移除,工作区修改保留;移除所有暂存文件,用 `git reset`。
- **Git 2.23 及以上版本**:使用 `git restore --staged <file>` 命令,能将指定文件从暂存区移除。
3. **撤销所有修改(包括工作区和暂存区)**:
- 先执行 `git reset` 撤销暂存区修改。
- 再执行 `git restore .` 撤销工作区修改,使文件完全恢复到上一次提交时的状态。

浙公网安备 33010602011771号