学习 git
[TOC]
win下指令集
git init在某个想要作为仓库的目录下,打开git bash,输入此指令可以初始化仓库(将这个父文件作为仓库)git add <fileName>将某文件添加到暂存区, 可以一次性添加多个文件,中间用逗号隔开git commit -m "note message"提交暂存区的文件到分支上,并添加描述git status查看仓库现在的状态git diff <fileName>如果git status告诉你有文件被修改过,用git diff可以查看修改内容。只能查看文本文件,不能查看二进制文件。git log查看近三条提交历史git reset --hard HEAD^回退到上一个版本。在Git中,用HEAD表示当前版本,上一个版本就是HEAD^,上上一个版本就是HEAD^^,当然往上100个版本写100个^比较容易数不过来,所以写成HEAD~100。git reflog查看之前输入的每一条命令,如果版本回退完又想返回最新版本可以先运行此命令找到新版本的commit id然后使用git reset --hard <id>即可回来。git checkout -- <fileName>直接丢弃工作区某个文件的修改。- 一种是
readme.txt自修改后还没有被放到暂存区,现在,撤销修改就回到和版本库一模一样的状态; - 一种是
readme.txt已经添加到暂存区后,又作了修改,现在,撤销修改就回到添加到暂存区后的状态。
- 一种是
git reset HEAD <fileName>可以把暂存区的文件<fileName>的修改撤销掉(unstage),重新放回工作区。git rm <fileName>从版本库中删除某个文件,如果要从工作区和版本库中都删除某个文件时,一般要经历两个步骤:- 从文件浏览器中删除工作区的文件,此时在库中运行
git status即可看到你删除了这个文件 - 从版本库中删除:运行
git rm <fileName>, 从库中删除这个文件。 - 如果是从文件管理器误删的,那么可以从版本库中迁出上一次提交的文件:
git checkout --<fileName>. git branch查看当前分支
- 从文件浏览器中删除工作区的文件,此时在库中运行
说明
- 第一次修改 ->
git add-> 第二次修改 ->git commitGit管理的是修改,当你用git add命令后,在工作区的第一次修改被放入暂存区,准备提交,但是,在工作区的第二次修改并没有放入暂存区,所以,git commit只负责把暂存区的修改提交了,也就是第一次的修改被提交了,第二次的修改不会被提交。