git简明使用查看手册
区域
- Workspace:工作区,就是你平时存放项目代码的地方
- Stage/Index:暂存区/索引区,用于临时存放你的改动,事实上它只是一个文件,保存即将提交到文件列表信息
- Repository:仓库区(或本地仓库)/存储库/分支,就是安全存放数据的位置,这里面有你提交到所有版本的数据。其中HEAD指向最新放入仓库的版本
- Remote:远程仓库,托管代码的服务器,可以简单的认为是你项目组中的一台电脑用于远程数据交换
.gitignore
操作
- git config 配置提交作者
- user.name “123”
- user.email “123”
- –global设置全局,特定项目设置时不加即可
- –list查看时–system系统配置、–global全局配置、–local当前配置,优先级向右更高 1<2<3
- –unset section.key删除配置项
- git config --global alias.ci commit #别名 ci 是commit的别名
- git log
- 命令会产生版本库里一系列单独提交的历史。
- 可加commit_id
- –oneline 单行显示每次提交
- -1 显示最近一次提交
- git show
- 查看特定提交的更加详细的信息,默认是最新一个
- 可加commit_id
- git show-branch
- 查看开发分支版本一行的简洁摘要,默认是最新一个版本
- 可加–more=10表示10个版本
- git rm **取消git版本控制,恢复到本地或删除**文件会变成未跟踪Untracked
- 从暂存区或分支上删除文件
- 本地不需要保留时,暂存区需要加-f,分支上不需要加
- –cached,本地需要保留时使用
- -f 暂存区和工作区不一致时,加–cached -f保留文件
- git mv
- 重命名文件
- ***git reset head *** 等于–mixed 从某个地方删除某个操作/版本,会删除提交历史
- 用于工作区、暂存区、本地仓库三个区域的文件提交撤销
- 放弃添加到暂存区的缓存 不改变本地文件内容
- git reset --soft xxx 用于将文件提交至本地仓库后撤回暂存区的操作,也就是删除本地仓库里文件
- git reset --mixed xxx 用于将本地仓库文件撤回至工作区,也就是删除本地仓库和暂存区里文件
- git reset --hard xxx 会将工作区、暂存区、本地仓库的所有提交的文件全都撤销(包括工作区文件,会删除),也就是删除本地仓库和暂存区和工作区里文件
- HEAD当前commit HEAD~1 HEAD~5
- git revert 新增提交
- 以新增一个commit提交历史的方式回滚到某一次commit_id
- git checkout 签出 从某个地方还原文件到工作区
- -b 创建并切换新分支
- git checkout -b <new_branch> 以某次提交创建新分支
- git checkout -b x origin/x本地创建分支并关联到远程分支
- -B 在已存在分支时,创建或覆盖分支内容
- git checkout .” 或者 “git checkout – ” 用暂存区的文件覆盖本地
- –作用是在分支和文件名冲突时起到指示文件名的作用
- git checkout --file 中commit指commit值、分支、tag等 用指定版本的文件覆盖工作区中对应的文件。如果省略,则会用暂存区的文件覆盖工作区中的文件。
- git checkout 不加任何时,则表示对工作区进行状态检查。
- –orphan 新建分支,内容完全不变,但新分支没有任何提交历史。
- -p 比较两个分支之间的差异,并可以选择打补丁
- git restore
- restore file = checkout file
- restore --staged file = checkout head file
- git diff
- 显示工作区和暂存区的文件差异
- file 显示某个文件的差异
- –cached 表示缓存区和分支上的差异
- head/master 表示工作区和分支上的差异
- git rebase
- 主分支master和开发分支dev都有了新的提交时,切换到dev使用git rebase master则会吧dev里的commit都取消掉,更新(等于pull)到和master一致然后将那些commit以补丁应用到dev分支上
- 有冲突时解决后add然后再rebase --continue
- 与merge不同点在于是一条线 不是多条线合并