1、查看历史记录:
第一步查看详情 git log
33495@LAPTOP-I7TROJ3M MINGW64 /e/实训/day01/three-groups-of-tests (yanchen-cart)
$ git log
commit 4f38a28972cc559d2b4dd72ad12c9723ca3f0b34 (HEAD -> yanchen-cart)
Author: abc <[email protected]>
Date: Thu Apr 1 16:20:57 2021 +0800
yan
commit 15d88bd1b1dbd9a1be4915e99a81a80194f17f21 (origin/master, origin/HEAD, master)
Author: dsz666 <[email protected]>
Date: Thu Apr 1 15:07:09 2021 +0800
邓世增
commit ff687bb4da65d391b926b4fdc84762936b98bbda
Author: mwm <[email protected]>
Date: Thu Apr 1 07:53:41 2021 +0800
00
第二步:缩略查看 git log --pretty=oneline
33495@LAPTOP-I7TROJ3M MINGW64 /e/实训/day01/three-groups-of-tests (yanchen-cart)
$ git log --pretty=oneline
4f38a28972cc559d2b4dd72ad12c9723ca3f0b34 (HEAD -> yanchen-cart) yan
15d88bd1b1dbd9a1be4915e99a81a80194f17f21 (origin/master, origin/HEAD, master) 邓世增
ff687bb4da65d391b926b4fdc84762936b98bbda 00
第三部:查看所有的提交id:git reflog --pretty=oneline
回退倒过去或现在 :git reset --hard id
33495@LAPTOP-I7TROJ3M MINGW64 /e/实训/day01/three-groups-of-tests (yanchen-cart)
$ git reset --hard 4f38a28
HEAD is now at 4f38a28 yan
2、分支管理
1、分支的作用
方便团队之间协作开发,分支之间的代码互不影响git init 初始化完后,默认本地只有一个分支master
2、 项目分支结构
-
master:主分支,这个分值上下不做项目开发,用于发布产品的分支
-
dev:开发分支
-
hotfix:调度bug的分支
-
feature:开发新功能的功能
3、分支常用命令
- 查看分支:git branch 例如:main *master / /分支前带*,当前要操作的分支
33495@LAPTOP-I7TROJ3M MINGW64 /e/实训/day01/three-groups-of-tests (yanchen-cart)
$ git branch
master
* yanchen-cart //分支前带*,当前要操作的分支
- 创建分支:git branch 新分支名
33495@LAPTOP-I7TROJ3M MINGW64 /e/实训/day01/three-groups-of-tests (yanchen-cart)
$ git branch dev //创建分支
33495@LAPTOP-I7TROJ3M MINGW64 /e/实训/day01/three-groups-of-tests (yanchen-cart)
$ git branch
dev //创建了新的分支
master
* yanchen-cart
- 切换分支:git checkout 要切换的分支名
33495@LAPTOP-I7TROJ3M MINGW64 /e/实训/day01/three-groups-of-tests (yanchen-cart)
$ git checkout dev //切换分支
Switched to branch 'dev'
33495@LAPTOP-I7TROJ3M MINGW64 /e/实训/day01/three-groups-of-tests (dev)
$ git branch
* dev //切换当前分支
master
yanchen-cart
- 自动创建并分支:git checkout -b 要创建和切换的分支
33495@LAPTOP-I7TROJ3M MINGW64 /e/实训/day01/three-groups-of-tests (dev)
$ git checkout -b longin //创建新分支并切换分支
Switched to a new branch 'longin'
33495@LAPTOP-I7TROJ3M MINGW64 /e/实训/day01/three-groups-of-tests (longin)
$ git branch
dev
* longin
master
yanchen-cart
- 合并分支:git merge 要合并的分支 注意:如果多人修改同一个文件,出现冲突,先解决冲突(采用当前的,采用传入,两者都保留),再add,commit
- 分支提交到远程:git push origin 要提交的分支名
- 删除分支
- 删除已经合并过的分支:git branch -d 要删除的分支名
- 删除未被合并的分支:git branch -D 要删除的分支
- 删除远程分支:git push origin :要删除的分支名
4、克隆(clone)产库
git clone 远程仓库地址
5、团队协作
第一步:组长先克隆远程仓库
git clone 组长给的仓库地址
第二步:组长克隆完进入仓库文件夹,写公共代码,再add,commit,最后push到刚才的仓库上
第三步:组长将组员添加到《仓库成员管理》中,注意:权限用开发者权限
第四步:组员第一次克隆组长仓库,然后在本地创建好dev和自己名称的分支
第五步:组员切换到自己名称的分支上,然后编写自己负责的代码,再git push origin 自己分支名到远程仓库
第六步:另一个组员操作同上面的组员,只不过如果需要上面组员的代码,必须将那个组员分支git pull自己的分支下
6、git可视化操作
- git bash 命令行操作
- git GUI 可视化操作,或称图形图面操作
7、打版本
- 查看版本 git tag
- 打版本 git tag 版本号
- 删除版本:
- 本地删除:git tag -d 版本名
- 远程删除:git tag :要删除的版本名
- 推送版本:git push origin 版本号 版本号格式:xx.xx.xx