安装与配置
sudo apt-get install git
git config --global user.name "your Name"
git config --global user.email "email@example.com"
工作区域
git区域包括:工作目录,暂存区,本地版本库,远程版本库
git文件状态以及操作
不强制理解,不太理解可以跳过直接看命令
- Untracked:未跟踪,此文件在文件夹中,但并没有加入到git库,不参与版本控制。通过git add 将状态变为 Staged
- Unmodify:文件已经入库,未修改,即版本库中的文件快照内容与文件夹中完全一致。这种类型的文件有俩种去处,如果它被修改,而变为Modified。如果使用 git rm 移出版本库,则成为 Untracked 文件
- Modified:文件已修改,仅仅是修改,并没有进行其他的操作。这个文件也有俩个去处,通过git add 可进入暂存 staged 状态,使用 git checkour 则丢弃修改过,返回到 unmodify 状态,这个git checkout 即从库中取出文件,覆盖当前修改!
- Staged:暂存状态。执行 git commit 则将修改同步到库中,这时库中的文件与本地文件又变为一致,文件为 Unmodify 状态。执行 git reset HEAD filename 取消暂存,文件状态为 Modified
git 命令
- git add 相对路径
- git commit -m “提交信息”
- git status 查看当前状态
- git rm --cached 文件名 删除暂存区中文件内容的修改
- git reset C2 修改当前分支的状态,可以是本地版本库,也可以是暂存区
- git tag 给提交贴标签
查看历史记录
git log 查看历史记录
输入空格 下一页, 输入 b 上一页
git log --oneline
–oneline 参数优先展示在一页
git reflog (最常用)
reset 切换版本
reset 可以前进或者回退历史版本 (HEAD 表示当前版本)
-
–hard 参数 (常用)
git reset --hard 版本号 在本地库回退的同时,工作区跟暂存区的代码也进行重置 -
–mixed 参数
在本地库回退的同时,重置暂存区,但是工作区不动, -
–soft 参数 (常用)
-
在本地库回退的同时,暂存区,工作区都不动
git diff
git 是按照行为单位管理数据的
git diff [文件名] 将工作区中的文件和暂存区中文件进行比较
多个文件比对:git diff
将暂存区与版本库进行比较:
git diff [版本号] [文件绝对路径]
分支操作
- 查看分支以及对应版本号 git branch -v
- git branch [分支名] 或者 git checkout -b [分支名]
- git checkout [分支名] 切换分支
撤销 restore 指令
- git restore file 将在工作空间但是不在暂存区的文件撤销更改
- git restore --staged 将暂存区的文件从暂存区中撤出,但是不会更改文件