总结一下git的常用命令,以免遗忘。
提交记录
git log
是基础的日志查看命令,通过携带不同的参数可以指定日期,指定日期范围等。
查看某一日期之后的提交
git log --after="2021-1-1" --no-merges
--no-merges
表示过滤掉合并提交记录
查看某一时间段的提交
git log --since="2021-1-1" --until="2021-4-30" --no-merges --pretty=format:"%ai , %an: %s"
--pretty=format:"%ai , %an: %s"
: 美化日志,以(时间,作者:提交信息)展示
如图:
查看第一次提交记录
git log --reverse --oneline
检出分支到指定提交
git checkout <commit id>
分支管理
查看
git branch 操作命令列出分支
git branch -a 查看当前所有分支(包括本地分支和远端库分支)
git branch -r 查看远端库分支
新建分支
1、新建
git branch AAA 建立分支AAA
2、切下远端库A分支到 新分支newBranch
git checkout -b newBranch origin/A (若本地newBranch分支不存在,则自动新建)
3、切下当前分支到 新分支newBranch
git checkout -b newBranch
删除分支
1、删除:
git branch –d AAA
2、删除本地的远程分支:
git branch -r -D origin/BranchName
如果想要重新获取,可以执行 git fetch
命令。
3、远程删除git服务器上的分支:
git push origin -d BranchName
分支跟踪
1、查看跟踪情况
git branch -vv
2、设置当前本地分支跟踪到远程
git branch --set-upstream-to=origin/njx-dev
合并分支
首先切换回主枝
git checkout master
将分支AAA与主枝合并
git merge AAA
注:git merge:默认情况下,Git执行"快进式合并"(fast-farward merge),会直接将Master分支指向Develop分支。
提交
基本命令
git add .
git commit -m 'commit message'
git push origin branchName
撤销提交
(1)撤销整体修改
// 回到原来编辑的地方,改动会丢失。(同样适用于团队对于其他人的修改恢复)
git reset --hard
// 可回到指定的版本#(hard后面为每次提交系统自动生成的一串哈希值)
git reset --hard sdv143kvf…...
// 会改变path指定的文件或目录的stage状态,到非stage状态。
git reset [path]
// 会将所有stage的文件状态,都改变成非stage状态。
git reset
(2)撤销某次修改
回退1个change的写法就是:
git reset HEAD^
2个为HEAD^^
,3个为HEAD~3
,以此类推。