1. git常用操作
1. 创建版本库
# 在指定的目录下,执行该命令后,会生成.git文件夹,就是git本地版本库
git init
2. 查看日志记录
# 查看所有的日志记录
git log
# 查看指定文件的日志记录
git log a.txt
# 1. enter:日志较多是,enter翻页查看日志
# 2. q 退出查看日志
# 3. git log --pretty=oneline 如果日志很多,可以将日志放在一行显示,不过会没有提交人等信息
3. 回退到历史版本
# 一次回退一个版本,一个^代表一个版本
git reset --hard HEAD^ # 回退一个版本
git reset --hard HEAD^^ # 回退2个版本
# 如果需要回退n个版本,可以直接写git reset --hard HEAD~n
git reset --hard HEAD~2 # 回退2个版本,等价上面的写法
4. 版本穿梭
# 查看所有的历史操作
git reflog
# 查看指定文件的所有历史操作
git reflog a.txt
# 回到指定的版本,通过上面reflog找的版本,这种对于我们如果回退了很多版本,后面又想恢复到前面的版本,这种比较好操作
git reset --hard 5721c0e
5. 撤销
# 1. 没有add,commit的撤销
git checkout a.txt
# 2. 有add,但是没有commit的撤销
git reset HEAD a.txt # 第一步:将文件从暂存区撤销掉
git checkout a.txt # 第二步:版本库中的文件覆盖本地文件
# 3. 已经add且commit了的文件撤销
git reset --hard HEAD^ #实际上就是直接回退到上一个版本,并将上一个版本作为默认最新版本
2. 分支操作
1. 创建分支:git branch <分支名>
git branch dev2021 #创建分支dev2021
2. 查看分支
git branch -v
3. 切换分支
git checkout dev2021 #切换到dev2021分支
4. 一步完成新建分支以及切换到分支
git checkout -b test2021 #创建test2021分支并切换到test2021分支
5. 合并分支
主干合并分支:主干将分支代码拉取过来,那么先切换到主干,然后执行合并
分支合并主干或者其它:先切换到分支,然后合并待拉取代码的那个分支或者主干
# 切换到主分支
git checkout master
# 主干合并dev2021分支代码,将分支代码拉取到主干上
git merge dev2021
6. 删除分支
git branch -d test2021
3. 版本冲突
1. 查看冲突的文件
git diff
冲突文件内容
33
<<<<<<< HEAD # <<<下面的bb是已经在主干上,但是这个位置和分支test2021上修改的内容发生冲突
bb
======= # ===下面是合并的分支内容
cc
>>>>>>> test2021
修改完冲突后,执行提交
git add a.txt
git commit -m "bug fixed"
2. 协作冲突
先pull更新代码,然后合并冲突,commit本地,push到远程
4. github/gitee实战
1. 本地创建项目并发布到GitHub、Gitee上
mkdir gitLearn #在本地创建项目工作空间
cd gitLearn #进入项目空间
git init #在项目工作空间下初始化
git config user.name "mayishijie" #本地git版本库关联到github上的用户
git config user.email "mayishijie2020@163.com" #关联到GitHub用户邮箱
2. 在GitHub/Gitee上创建一个项目
git remote add <远端代号> <远端地址>
git push <远端代号> <本地分支名称>
# 在本地项目下创建和远程Git服务项目进行关联
git remote add origin git@gitee.com:mayishijie/git-learn.git
# 推送本地项目到远程服务,origin就是指代git@gitee.com:mayishijie/git-learn.git地址
git push -u origin master
3. clone远程服务项目
git clone <远端地址> <新项目目录名>
新项目名可以不写,不写默认就是git上的默认项目名
4. 更新远程GitHub上的项目代码
git pull <远端代号> <远端分支名>。