Git笔记

主要内容来自参考文章,以个人理解整理。

git add . 和 git add * 的区别

1
2
3
git add .:把本地所有untrack的文件都加入暂存区,并且会根据.gitignore做过滤

git add *:忽略.gitignore把任何文件都加入

删除 GitHub 上 repository 里的文件

代码 push 到 GitHub 上后,便 rm 了本地 repository 的某个文件,如何也删除掉 GitHub 上的这个文件呢

1
2
3
git add .
git commit -a -m ""
git push

git add 只能加入原来没有被跟踪的文件,没有把删除这个行为也加入版本控制,-commit时添加 -a 选项。

撤销 git commit 的内容

1
git reset --soft HEAD^

HEAD^的意思是上一个版本,也可以写成HEAD~1

如果你进行了2次commit,想都撤回,可以使用HEAD~2

其他参数:

参数 意思
–mixed 不删除工作空间改动代码,撤销commit,并且撤销git add . 操作。
这个为默认参数,git reset –mixed HEAD^ 和 git reset HEAD^ 效果是一样的。
–soft 不删除工作空间改动代码,撤销commit,不撤销git add .
–hard 删除工作空间改动代码,撤销commit,撤销git add .
注意完成这个操作后,就恢复到了上一次的commit状态。

如果commit注释写错了,只是想改一下注释,只需要:

1
git commit --amend

此时会进入默认vim编辑器,修改注释完毕后保存就好了。