命令
支持中文
设置全局用户
用户
git config --global user.name "用户名,支持中文"
邮箱
git config --global user.email "用户邮箱"
实战操练
创建版本库
在项目文件夹内执行 git init
创建一个新的目录
在此目录下打开命令窗口
执行 git init 命令
在新目录下会创建版本信息和源码信息
如何提交
新建文件
vim 文件名
看文件状态
git status
将文件添加到暂存区
git add 文件名
将文件提交到本地库
git commit -m "注释内容"
提交成功,查看状态后显示
On branch master
nothing to commit,working tree clean
提交所有
git add *(最好别,low)
查看文件提交记录
git log 【HEAD->是指针】
git log --pretty=oneline【能看详细一些】
回退历史【本地库到暂存区,到工作区】
回退到上一次提交
git reset --hard HEAD^
回退n次操作
git reset --hard HEAD~n
版本穿越
git reflog 进行查看历史记录的版本号【有操作就能查到历史,删不掉】
执行 git reset --hard 版本号【上述命令查出来的版本id】
还原文件
git checkout -- 文件名【暂存区到工作区】
删除文件
先删除文件
再 git add 文件名
在提交
工作区
就是本地的硬盘
git版本库
暂存区
add的命令,从工作区把对应的文件存在这里
本地库
commit,从暂存区提到本地库,类似于入栈操作,版本回退的时候,其实也不是删除了文件,而是把指针指向的方向改变了
分支
系统上线了,又有了新版本,估计工期需要1-2个月,但同时系统正在上线运行,时不时要修改bug,如何管理几个版本
从主线上粉出一个修改bug的分支
从主线上粉出一个开发分支
分支互不干扰
合并的时候才干扰
创建分支
git branch dev【分支名,dev一般对应开发分支】创建分支
git branch -v查看分支【发现把原先的分支也拷贝到了dev中】
切换分支
git checkout 分支名
进入文件
修改文件
添加文件
提交文件
合并分支
先切换到主干 git checkout master
git merge 分支名
合并时冲突
系统会提示CONFLICT关键字
命令行后缀进入MERGING状态,表示此时是解决冲突的状态
git different 找到有冲突文件
进入有冲突文件
解决冲突
添加
提交