这里涵盖完成工作将要使用的基本命令。初始化仓库(respostory)、开始或停止追踪文件(track)、暂存文件(stage)、提交更改(commit)。配置指定忽略的文件和文件模式(通过 glob 匹配)。快速简单的撤销错误操作、快速查看提交的历史记录、不同提交之间的差异以及向远程提交拉取代码。
查看帮助文档
# 查看常用命令:21 条$ git --help# git 子命令帮助$ git help -a# git 相关概念$ git help -g# 查看 add 的详细介绍 或者 git add --a 输入错误命令显示详细参数# 如果帮助文档中有 `[--] <pathspec>` 则此命令可以指定文件路径,对指定的文件进行操作$ git add -h
基本的 Git 工作流程
- 在工作区修改文件
- 暂存文件:将文件快照放入暂存区域
- 提交更新:找到暂存区域的文件,将快照永久存储到 Git 的仓库目录
# 创建版本库 - 文件夹已存在$ git init# 克隆一个现有的仓库到本地:创建仓库同名文件夹$ git clone <git@xxxx># 或者$ git add remote <远程仓库 URL>... 创建文件、修改文件、删除文件等# 查看文件状态$ git status$ git add <filePath>$ git status$ git commit -m "修改 xxx"# 分支操作$ git branch <newBranch>$ git checkout <newBranch># 合并分支$ git merge <newBranch># 将提交推送到远程 同名分支 上$ git push origin branchName# 将远程 同名分支 拉取下来合并# 是 git fetch + git merge$ git pull origin branchName# 多使用 git status 查看自己当前所在的分支以及仓库中的文件状态
# 在非 工作区 执行 git 命令,会报错# git 会沿着目录依次向上查找 .git 目录# 显示 .git 所在目录$ git rev-parse --git-dir/path/to/my/workspace/demo/.git# 显示 工作区 所在目录$ git rev-parse --show-toplevel# 显示相对于工作区根路径目录$ git rev-parse --show-prefix
使用 Git 注意事项
提交代码前,diff 更改的代码,尤其是合并(包括拉取合并线上代码)、解决冲突前后;
倚天工作结束后,整理好工作区;
并行项目,使用分支开发;
遇到冲突时,搞明白冲突的原因,避免随意丢弃别人的代码;
产品发布后,打 Tag,方便将来分支修复 Bug、方便回滚;
多使用 git status 查看当前仓库的状态;
对于公共分支,单个功能保持一个 commit,自己开发的分支,需要保持每个提交的粒度为一个提交做一个修改;
文件名、目录名注意大小写,修改前后注意是否有 {DataStore1.js => DataStore.js} 标志,暂存区是否有 renamed 标志;
### git statusChanges to be committed:(use "git reset HEAD <file>..." to unstage)renamed: src/components/containers/ExpertSystem/MethodLibrary/DataStore.js -> src/components/containers/ExpertSystem/MethodLibrary/DataStore1.js### git logDate: Wed Sep 18 10:25:57 2019 +0800rename.../containers/ExpertSystem/MethodLibrary/{DataStore1.js => DataStore.js} | 01 file changed, 0 insertions(+), 0 deletions(-)
window 中为避免比莫名其妙的问题,避免使用中文文件名;
window 避免使用记事本编辑文本文件;
