Git工作区、暂存区和版本库等概念
·工作区:电脑里能看见的目录
·暂存区:一般存放在 “.git”目录下的index文件中,暂存区也叫索引
·版本库:工作区有一个隐藏目录.git,这个不算工作区,而是git的版本库
Git工作流程
-克隆Git资源作为工作目录
git init --用当前目录作为Git仓库,直接初始化
git clone <仓库地址> <本地目录> --克隆指定地址仓库
-在克隆Git资源上添加目录或者修改文件
git add <文件>--添加文件到缓存区域
git status --查看项目的当前状态
?未知 A 添加 D 删除 M 提交 AM 添加到缓存后又改动
git status -s --项目当前状态简短输出
git diff --显示已写入缓存与已修改但未写入缓存的改动的区别
git diff --cached --查看已缓存的改动
git diff HEAD --查看已缓存与未缓存的所有改动
git diff --stat --查看摘要
-如果其他人修改了文件,跟新资源
-在提交前查看修改
git commit -m "注释" --将缓存区的内容添加到仓库中
git resert HEAD --取消已经缓存的内容
git rm <文件> --从已跟踪的文件清单中移除,然后提交
git rm -f <file> --如果删除之前已经修改并且已经提交到暂存区域,则使用强制删除
git rm --cached <file> --从暂存区移除,但仍然保留在当前工作目录中
git mv <file> --移动或者重命名一个文件、目录、软连接
分支管理:
分支意味着可以从开发主线上分离开来,然后在不影响主线的同时继续工作
git branch (branch_name) --创建分支
git checkout (branch_name) --切换分支
git merge (branch_name) --合并分支
git branch --列出所有本地分支
git branch -d (branch_name) --删除分支
一旦某一分支有了独立内容,最终合并到主分支去,那么将会使用合并分支
git merge <branch_name>
如果出现了合并冲突,我们需要手动去修改,然后利用 git add <file> 来告诉git解决合并冲突
-提交修改
git commit --提交到本地库
git push --将本地库的最新信息发送给远程库
git pull --从远程库获取最新版本到本地,并且merge
git fetch --从远程库获取最新版本到本地,不merge
Git查看提交历史
git log
git log --oneline 查看历史记录的简洁版本
git log --graph 查看历史中出现分支、合并的时间
git log --aouthor 查看指定用户的提交日志
git log -since (时间) --before(时间) --until(时间) --after(时间) --查看固定时间段的提交日志
Git标签
git tag -a (tag_name)
git tag --查看所有标签
git tag -a (tag_name) -m "标签" --指定标签信息命令
git tag -s (tag_name) -m "标签" --PGP签名标签命令
git tag -d (tag_name) --删除标签
git show (tag_name) --查看此标签版本所修改的内容