本地库初始化
找到项目文件->右键git bash->git init
设置签名
形式:
- 用户名
- 邮箱地址
作用:
- 区分不同开发人员身份
- 注意:这里设置的签名和登录的远程库的账号密码没有任何关系
- 命令:
- 项目级别/仓库级别(仅在当前本地库范围内有效,优先生效):
- git config user.name name
- git config user.email email
- 信息保存位置:./git/config
- 系统用户级别(登录当前操作系统的用户范围):
- git config --global user.name name
- git config --global user.email email
- 信息保存位置:~/.gitconfig
基本操作
- 状态查看:git status 查看工作区、暂存区状态
- 添加操作:git add[file name] 将工作区修改提交到暂存区
- 提交操作: git commit -m "commit message" [file name] 将暂存区内容提交到本地库
- 查看历史记录:
- git log: 查看完整历史记录,多屏显示控制方式:
- git log --pretty=oneline: 简洁查看历史记录
- git log --oneline: 简洁版,只能看当前版本和之前的版本
- git reflog:在oneline基础上显示移动到对应版本的步数
- 版本前进后退:
- 基于索引值:
- git reset --hard [索引值]
- 例如: git reset --hard 1a901dd
- 使用^符号:只能后退版本
- git reset --hard HEAD^
- 加一个^就回退一个版本
- 使用~符号:只能回退版本
- git reset --hard~[n]
- 回退n个版本
- reset 参数对比:
- --soft参数:在本地库移动HEAD指针
- --mixed参数:在本地库移动HEAD指针,重置暂存区
- --hard参数:移动指针,重置暂存区和工作区
- 删除文件并找回
- 回退到保留文件的某个历史记录
- 若没有提交到本地库,则reset到当前库状态即可
- 比较文件差异:
- git diff [file name] 将工作区文件和暂存区文件进行比较
- git diff HEAD [file name] 与本地库版本进行比较
- git diff HEAD^ [file name]与历史版本进行比较
- 不带文件名比较多个文件
- 分支管理
- 什么是分支?
- 分支操作:
- 创建分支:
- 查看分支:
- 切换分支:
- git checkout [branch name]
- 合并分支:
- 第一步:切换到接受修改的分支(被合并,增加新内容)上
- 第二步:执行merge命令:
- git merge [有新内容的分支名]: 合并目标分支
- 解决冲突:
- 第一步:编辑文件,删除特殊符号
- 第二步:将文件修改到满意程度,保存退出编辑
- 第三步:git add [file name]
- 第四步:git commit -m "日志信息" 提交
远程库交互