1. 设置git上自己的姓名和邮箱
- git config --global user.name "姓名"
- git config --global user.email "邮件"
2.添加文件到git仓库
- git init 初始化git仓库
- git add . (文件提交暂存区)
- git commit -m "改动了什么,注释一下" (暂存区的内容提交当前分支)
3.查看当前文件状态 + 文件做了什么变动
- git status
- git diff
4. 查看文件历史记录
- git log
- git log --pretty=oneline (简单版展示历史记录)
4. 回退历史版本
HEAD表示当前版本,也就是最新的提交
上一个版本就是HEAD^
上上一个版本就是HEAD^^
当然往上100个版本写100个 写成HEAD~100
- git reset --hard HEAD^
- git reset --hard 'commit id' (此id可通过 git log 查看)
5.可查看每一次的操作命令
- git reflog
6.对于已改动不想要的代码,可去掉
-
当你改乱了工作区某个文件的内容,想直接丢弃工作区的修改时,用命令git checkout -- file。
-
当修改了文件的内容,还添加到了暂存区时,想丢弃修改,分两步:
第一步:用命令git reset HEAD ,回退到工作区
第二步:git checkout -- file 丢弃工作区
7.删除文件
- git rm 文件名
8.查看所有分支 *代表当前分支
- git branch
9.创建新的 dev分支
- git branch dev
10.切换到 dev分支
- git checkout dev 或 git switch dev
11.创建分支并且切换到新的 dev分支
- git checkout -b dev (-b 创建切换)
- git switch -c dev (推荐使用这个)
12.合并dev分支到当前分支
- git merge dev
13.删除dev分支
- git branch -d dev
14.查看分支合并图
- git log --graph
15.--on-off 表示禁用 fast forward
- git merge --on-off -m "今天做了什么" dev (本次合并要创建一个新的commit,所以加上了-m参数,把描述加上去) 合并分支时,加上--no-ff参数就可以用普通模式合并,合并后的历史有分支,能看出来曾经做过合并,而fast forward合并就看不出来曾经做过合并
16. git stash 把当前工作现场隐藏起来,等bug处理完成以后再继续进行工作
- 修复bug时,我们会通过创建新的bug分支进行修复,然后合并,最后删除;
- 当手头工作没有完成时,先把工作现场git stash一下,然后去修复bug,修复后,再git stash pop,回到工作现场;在master分支上修复的bug,想要合并到当前dev分支,可以用git cherry-pick 命令,把bug提交的修改“复制”到当前分支,避免重复劳动。
17.强行删除分支
- git branch -D 分支名称