git工作模式
git基础
- 直接记录快照,而非差异比较
- 近乎所有操作都在本地执行
- 时刻保持数据完整性
- 多数操作仅添加数据 文件的三种状态
- 已修改( modified )
- 已暂存( staged )
- 已提交( committed )
git文件状态
- Git 文件
- 已被版本库管理的文件
- 已修改
- 在工作目录修改Git文件
- 己暂存
- 对已修改的文件执行Git暂存操作,将文件存入暂存区
- 已提交
- 将已暂存的文件执行Git提交操作,将文件存入版本库
git常用命令
对于user.name与user.email,有三个地方可以设置
- /etc/gitconfig(几乎不会使用),
git config --system - ~/.gitconfig(很常用)
git config --global - .git/config(针对特定项目)
git config --local
git rm 命令:
- 删除一个文件
- 将被删除的文件纳入到暂存区(stage, index) 若想恢复被删除的文件,需要进行两个操作:
git reset HEAD filename,将待删除的文件从暂存区恢复到工作区(回退 git add操作)git checkout -- filename,将工作区的修改丢弃
修改提交的commit内容:
git commit --amend -m '修改后的内容'
git log 格式化显示:
git log --pretty=format:"%h - %an, %ar : %s"
.gitignore
需要被git忽略的文件,配置规则:
git 分支
- git branch 查看分支
- git brance new_branch 创建新分支
- git checkout 切换分支
- git checkout - 切换到上一个分支
- git checkout -b new_branch 创建并切换到创建的分支
- git branch -d 删除分支
- git branch -D 强制删除分支
- git merge 分支合并
只有一个分支的情况下,分支是由commit串起来的提交链:
HEAD指向的是当前分支,切换分支时,HEAD的指向也会变化。
可以通过 cat .git/HEAD 查看HEAD的指向
cat .git/HEAD
ref: refs/heads/master
git checkout -b dev
cat .git/HEAD
ref: refs/heads/dev