Git-本地仓库的一些基本操作命令
安装和配置 Git 环境
- 下载地址:https://git-scm.com/
基本使用
git init
- 初始化一个 Git 仓库
git status
- 查看当前工作区、暂存区、本地仓库的状态
git status -sb
: s 简化 b 当前分支 简化的查看当前状态
git add
提交到暂存区git commit
将文件存入文档库 (建议使用git commit -v
对新人友好,直接在编辑器中操作)- 示例:
git commit -m "日志说明" --author="操作者姓名 <邮箱>"
- 执行
git commit
的时候,Git 会要求具有用户名和邮箱的参数选项 - 可以通过
git config
命令配置一下用户名和邮箱
- 示例:
git log
查看提交日志gitk
图形化的呈现出提交日志
总结:操作 Git 的基本工作流程就是先修改文件,然后执行 git add
命令。
git add
命令会把文件加入到暂存区,接着就可以执行 git commit
命令,将文件存入文档库,
从而形成一次历史记录。
初始化配置
# 设置用户名
git config --global user.name "你的名字"
# 配置用户邮箱
git config --global user.email "你的常用邮箱"
# 设置 gitk 图形查看工具中文显示默认编码(防止乱码)
git config --global gui.encoding utf-8
# 查看配置列表项
git config --list
.gitignore
这个文件中描述一些目录是不需要提交的 常见的有 node_modules /dist
添加/删除文件
# 添加指定文件到暂存区
git add [files1] [files2] ...
# 添加指定目录到暂存区,包括子目录
git add [dir]
# 添加当前目录所有文件到暂存区
git add --all
gie add .
# 停止追踪指定文件,但该文件会保留在工作区 (也就是 把暂存区的文件给退回到工作区)
git rm --cached [file]
# 改名文件,并且将这个改名的放入暂存区
git mv [file-original] [file-renamed]
代码提交
# 建议使用这个提交, 默认会用编辑器打开, 在这里的文件中可以清楚看到你修改了什么内容,也会迫使我们把提交理由写得更具体。
git commit -v
# 提交到暂存区到仓库区
git commit -m [message]
# 提交暂存区的指定文件到仓库区
git commit [file1] [file2] ... -m [message]
# 提交工作区自上次commit之后的变化, 直接到仓库去
# (也就是说。 被跟踪过的 即之前在暂存区过的文件 可以直接越过暂存区提交到仓库区)
git commit -a -m [message]
# 使用一次新的commit, 替代上一次提交
# 如果代码没有任何新变化,则用改写上一次commit的提交信息
git commit --amend -m [message]
版本回退
常用的切换版本流程使用
-
1.先用
git log
查看一下提交历史, 里面有记录详细的版本号, 如果需要版本回退,就复制版本号的前6个号码即可 -
git reset --hard [commit]
[commit] 版本号 这样就会回到指定的版本
-
这时你在
git log
会发现你回到指定版本之后的版本历史都不见了。 怎么办? -
git rflog
执行这条命令你会看到所有的版本包括你回退到那个版本的历史 -
然后继续
git reset --hard [commit]
即可
(!!!注意:git reset --hard [commit]
时一定要注意把之前的代码commit提交了,要不然没提交的代码都会消失,非常危险, 但切换分支时不会影响 )
# git rm --cached <file>
# 恢复暂存区的指定文件到工作区
git checkout [file]
# 恢复某个commit的指定文件到暂存区和工作区
git checkout [commit] [file]
# 恢复暂存区的所有文件到工作区
git checkout .
# 重置暂存区的指定文件,与上一次commit保持一致,但工作区不变
git reset [file]
# 重置暂存区与工作区,与上一次commit保持一致
git reset --hard
# 重置当前分支的指针为指定commit,同时重置暂存区,但工作区不变
git reset [commit]
# 重置当前分支的HEAD为指定commit,同时重置暂存区和工作区,与指定commit一致
git reset --hard [commit]
# 重置当前HEAD为指定commit,但保持暂存区和工作区不变
git reset --keep [commit]
# 新建一个commit,用来撤销指定commit
# 后者的所有变化都将被前者抵消,并且应用到当前分支
git revert [commit]
# 暂时将未提交的变化移除,稍后再移入
git stash
git stash pop
分支基本操作
# 查看所有分支
git branch
# 基于当前分支创建一个分支,但依然停留在当前分支
git branch [branch-name]
# 切换到指定分支,并更新工作区
git checkout [branch-name]
# 基于当前分支新建一个分支 并切换到该分支
git checkout -b [branch-name]
# 切换到上一个分支, 交替和上一个分支进行切换
git checkout -
# 合并指定分支到当前分支
git merge [branch-name]
# 注意 合并完毕后, 要 git add 该文件 然后 git commit 就行 不需要加-v或者-m
# 删除分支
git branch -d [branch-name]