总结一下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" : 美化日志,以(时间,作者:提交信息)展示

如图: image.png

查看第一次提交记录

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,以此类推。