统一概念:
-
工作区:增删文件和内容
-
暂存区:键入命令 git add 改动的文件,此次改动就放到了 『暂存区』
-
本地仓库 :键入命令 git commit ,此次改动就放到了『本地仓库』,每个 commit,我叫它为一个 『版本』。
-
远程仓库:键入命令 git push 到远程仓库,此次改动就放到了 『远程仓库』。
-
commit-id:输出命令 git log,最上面那行 commit xxxxxx,后面的字符串即 commit-id。
清理git的缓存:
$ git rm -r --cached . // 清空当前文件夹的所有缓存(本地的依然保存)$ git rm -f . // 将当前文件夹的文件清空,本地文件也会清空,回收站也找不到,该指令请谨慎执行$ git clean -df . // 本地文件同样会被删除,回收站也找不到,该指令请谨慎执行
查看当前git的状态:
$ git status
查看远程仓库:
$ git remote //简写$ git remote -v //全程
修改之后的文件以及新添加的文件,在commit之前都需要先 add:(以 tmp.py 文件和 data 文件夹为例)
$ git add tmp.py // 添加单个文件$ git add data/ // 添加一个目录下的所有文件$ git add tmp.py data/ // 添加多个文件或者文件夹
重命名文件,将 main.py 重命名为 module.py:
$ git mv main.py module.py
commit到本地仓库:
$ git commit -m "说明文字"
推送到远程仓库:
$ git push [remote-name] [branch-name]
当 remote-name 为 origin,branch-name 为 master时,git push origin master。
直接取消上一次 commit:
$ git reset HEAD~1$ git reset --hard HEAD~1 // 加上参数“--hard”则不保留当前更改
如果想撤回上一次 add:
$ git reset HEAD // 如果后面什么都不跟的话 就是上一次 add 里面的全部撤销了 $ git reset HEAD tmp.py // 就是对某个文件进行撤销了
文件 .gitignore 的用法:
# 写在 .gitignore 中的文件/文件夹都不会加入到 git 仓库中,当然前提是该文件/文件夹之前就不在仓库中,否则还是被 add 进来。如: # 文件 *.pyc tmp.py # 文件夹 .idea/ __pycache__/
git 删除远程仓库:
$ git remote rm origin
git 添加远程仓库,并将其命名为 origin:(git 仓库改成自己的即可)
$ git remote add origin https://github.com/wuliytTaotao/Learning-Materials.git
统计本地仓库和远程仓库之间的的改动:(将 local_brach、origin/remote_branch 改成自己定义的名字,如 master)(如果本地仓库只是远程仓库历史中的某个节点,下面语句是不会显示有什么不同的。)
$ git diff --stat local_branch origin/remote_branch
git diff 的一些用法:
$ git diff // 输出工作区和暂存区的 different (不同)。$ git diff// 还可以显示本地仓库中任意两个 commit 之间的文件变动:$ git diff --cached // 输出暂存区和本地最近的版本 (commit) 的 different(不同)。$ git diff HEAD // 输出工作区、暂存区 和本地最近的版本 (commit) 的 different (不同)。
git log 怎么退出到命令行?输入字母 'q' 即可。