-
初始化本地仓库:git init
-
设置签名(可有可无,为了区分开发人员,与其他账号密码无关):
-
项目级别/仓库级别:仅在当前本地库范围内有效
- git config user.name hwt_pro
- git config user.email 1070359898@qq.com
-
系统用户级别:登录当前操作系统的用户范围(通常用这个)
- git config --global user.name hwt_glb
- git config --global user.email 1070359898@qq.com
-
优先级别:
- 二者都有时,就近原则,项目级别优先于系统用户级别
- 如果只有系统用户级别的签名就用系统用户级别的签名
- 二者都没有是不允许的
-
-
基本操作:
-
常用:
- 查看状态:git status
- 将工作区的“新建/修改”添加到暂存区:git add 文件名
- 将刚才上传到缓存区的文件撤回:git rm --cached 文件名
- 将暂存区的内容提交到本地库:git commit -m "备注信息" 文件名
-
查看历史记录:
- git log
- git log --pretty=oneline
- git log --oneline
- git reflogPS:HEAD@{移动到当前版本需要多少步}
-
版本前进与后退(与git reflog搭配使用):
-
(推荐使用)基于索引值操作:git reset --hard 索引值
-
使用^符号(只能后退):
- git reset --hard HEAD^
- 注:一个^表示后退一步,n个表示后退n步
-
使用^符号(只能后退):
-
git reset --hard HEAD~n
-
注:n表示后退n步
-
-
reset 命令的三个参数对比 :
-
--soft 参数:仅仅在本地库移动 HEAD 指针
-
--mixed 参数:
- 在本地库移动 HEAD 指针
- 重置暂存区
-
--hard 参数:
- 在本地库移动 HEAD 指针
- 重置暂存区
- 重置工作区
-
-
-
删除文件找回:
-
前提:删除前,文件存在时的状态提交到了本地库
-
操作:git reset --hard [指针位置]
- 删除操作已经提交到本地库:指针位置指向历史记录
- 删除操作尚未提交到本地库:指针位置使用 HEAD
-
-
比较文件差异:
- 将工作区中的文件和暂存区进行比较:git diff [文件名]
- 将工作区中的文件和本地库历史记录比较:git diff [本地库中历史版本][文件名]
- 不带文件名为比较多个文件
-
-
分支:
-
查看分支:git branch -v
-
创建分支:git branch [分支名]
-
切换分支:git checkout [分支名]
-
合并分支:
- 切换到接受修改的分支上(被合并,增加新内容):git checkout [接受修改的分支名]
- 执行合并:git merge [有新内容的分支名]
-
解决冲突:
-
编辑文件,删除特殊符号
-
把文件修改到满意的程度,保存退出
-
git add [文件名]
-
git commit -m "日志信息"
- 注意:这里不能带文件名
-
-