2021年7月20日
-
git add
-
git commit -m "我是说明"
-
git status
:查看当前状态,状态大概分为三种- 有文件被修改了,但是没有准备提交修改(没有add添加)
On branch master Changes not staged for commit: (use "git add <file>..." to update what will be committed) (use "git checkout -- <file>..." to discard changes in working directory) modified: readme.txt no changes added to commit (use "git add" and/or "git commit -a")
- add了文件,但是没有commit
On branch master Changes to be committed: (use "git reset HEAD <file>..." to unstage) modified: readme.txt
- 没有要提交的修改,工作目录是干净(working tree clean)的。
On branch master nothing to commit, working tree clean
-
git diff
:查看修改的内容 -
git log (--pretty=oneline)
:查看历史commit记录, 16进制数为commit的id,在版本回退中可以只输入4位数,git会自动寻找对应的唯一id(commit多的时候需要输入更长)。commit 1094adb7b9b3807259d8cb349e7df1d4d6477073 (HEAD -> master) Author: Michael Liao <askxuefeng@gmail.com> Date: Fri May 18 21:06:15 2018 +0800 append GPL
-
git reset --hard HEAD^
:将版本回退到HEAD(表示当前版本)指向的当前版本的上一个版本,还原后会删除git log
中HEAD的记录,但可以在git reflog
中找到对应commit的id!
HEAD is now at e475afc add distributed
-
git reflog
:查看命令历史,可以用于寻找历史中被reset掉了的commit的id。
[图片] -
.23版本方法更新!工具系列 | git checkout 可替换命令 git switch 和 git restore
-
场景1:当你改乱了工作区某个文件的内容,想直接丢弃工作区的修改时,用命令
git restore <file>
。 -
场景2:当你不但改乱了工作区某个文件的内容,还添加到了暂存区时,想丢弃修改,分两步,第一步用命令
git restore --staged <file>
,就回到了场景1,第二步按场景1操作。 -
场景3:已经提交了不合适的修改到版本库时,想要撤销本次提交,参考版本回退一节,不过前提是没有推送到远程库。
-
从暂存区恢复工作区, git resotre --worktree readme.txt 从master恢复暂存区 git restore --staged readme.txt 从master同时恢复工作区和暂存区 git restore --source=HEAD --staged --worktree readme.txt
-
先手动删除(rm )文件,然后使用git rm
和git rm 效果是一样的。 -
SSH远程更新仓库时,发现22号端口出问题,官方介绍,以及 Stackoverflow的解决办法