git add 文件名 将文件放到暂存区
git rm --cached 文件名 将文件撤出暂存区
git commit -m "备注" 文件名 提交到本地库
git log 查看提交日志
git log --pretty=oneline 分行显示日志
git log --oneline 分行显示日志(只显示hash值的一部分)
git reflog 分行显示日志(显示移动指针)
git reset --hard hash值部分 去到指定的历史版本
git reset --hard HEAD^^^ 往后退版本 (几个^代表退几步)
git reset --hard HEAD~3 往后退版本(~3代表后退的步数)
reset命令的三个参数对比
- --soft参数
- 仅仅在本地库移动HEAD指针
- --mixed参数
- 在本地库移动HEAD指针
- 重置暂存区
- --hard参数
- 在本地库移动HEAD指针
- 重置暂存区
- 重置工作区
rm 文件名 删除文件
git reset --hard fad766d 找回删除后提交的文件(即删除后commit的文件)
git reset --hard HEAD 找回删除后add的文件
git diff 文件名 比较文件
git branch 分支名 创建分支
git branch -v 查看分支
git checkout 分支名 切换分支
合并分支
1 切换到接受修改的分支上(被合并,增加新内容)
git checkout 分支名(被合并的分支名)
2 执行merge命令
git merge 分支名(有新内容的分支)
xx@DESKTOP-Q7AUN1P MINGW64 /e/gitTest (hot_fix) $ git checkout master Switched to branch 'master' xx@DESKTOP-Q7AUN1P MINGW64 /e/gitTest (master) $ git branch -v hot_fix e5342a1 fix aaa.txt * master fad766d new aaa xx@DESKTOP-Q7AUN1P MINGW64 /e/gitTest (master) $ git merge hot_fix Updating fad766d..e5342a1 Fast-forward aaa.txt | 3 ++- 1 file changed, 2 insertions(+), 1 deletion(-) xx@DESKTOP-Q7AUN1P MINGW64 /e/gitTest (master) $ cat aaa.txt aaaaaa bbbbbb @cccc dddddd xx@DESKTOP-Q7AUN1P MINGW64 /e/gitTest (master) $ git branch -v hot_fix e5342a1 fix aaa.txt * master e5342a1 fix aaa.txt |
冲突的解决
- 编辑文件,删除特殊符号
- 把文件修改到满意的程度,保存退出
- git add 文件名
- git commit -m "备注” 注:此时commit一定不能带具体文件名
拉取
- pull=fetch+merge
- git fetch[远程库地址别名][远程分支名]
- git merge[远程库地址别名/远程分支名]