Git使用教程(超全,看一篇就够了)
目录
Git介绍
Git是什么?
Git是目前世界上最先进的分布式版本控制系统。
SVN与Git的最主要的区别?
SVN是集中式版本控制系统,版本库是集中放在中央服务器的,而干活的时候,用的都是自己的电脑,所以首先要从中央服务器哪里得到最新的版本,然后干活,干完后,需要把自己做完的活推送到中央服务器。集中式版本控制系统是必须联网才能工作,如果在局域网还可以,带宽够大,速度够快,如果在互联网下,如果网速慢的话,就纳闷了。
Git是分布式版本控制系统,那么它就没有中央服务器的,每个人的电脑就是一个完整的版本库,这样,工作的时候就不需要联网了,因为版本都是在自己的电脑上。既然每个人的电脑都有一个完整的版本库,那多个人如何协作呢?比如说自己在电脑上改了文件A,其他人也在电脑上改了文件A,这时,你们两之间只需把各自的修改推送给对方,就可以互相看到对方的修改了。
Git安装
windows上安装Git
下载安装
下载地址:https://git-scm.com/download/win
下载好后,双击进行下一步下一步即可。
验证git安装是否成功
1). 命令行输入:git --version
,提示如下标识安装成功
2). 回到电脑桌面,鼠标右击如果看到有两个git单词则安装成功
Linux上安装Git
yum安装
在Linux上是有yum安装Git,非常简单,只需要一行命令
yum -y install git
输入 git --version
查看Git是否安装完成以及查看其版本号
备注: yum安装git被安装在
/usr/libexec/git-core
目录下
Git初始化配置
a、设置用户名:$ git config --global user.name "<用户名>"
b、设置用户邮箱:$ git config --global user.email "<电子邮件>"
注意:该配置会在github主页上显示谁提交了该文件
c、配置ok之后,我们用如下命令来看看是否配置成功
git config --list
注意:git config --global 参数,有了这个参数表示你这台机器上所有的git仓库都会使用这个配置,当然你也可以对某个仓库指定不同的用户名和邮箱
Git使用
操作流程
git操作演示
1.进入demo文件夹
cd demo
2.初始化仓库
git init
3.仓库中创建readme.txt文件,内容:test
4.查看仓库状态
5.添加文件到暂存区中
git add readme.txt
6.提交文件到仓库
git commit -m "readme.txt提交"
7.查看仓库状态
8.提交到远程库
已设置公钥,可直接push
git push
本地创建仓库想直接提交到远程库
# 1. 先连接远程库(可能需要登录认证)
git remote add origin 远程仓库地址(git@gitee.com:xxxx/test.git)
# 2.获取远程库与本地同步
git pull --rebase origin master (远程库不为空,会有冲突,提交会失败,需要先将远程库与本地同步)
# 3.推送当前master分支到远程库
git push origin master
9.修改文件后可以使用diff查看文件修改前后对比
git diff readme.txt
10.git log
来查看最近到最远的历史提交日志
11.回退版本
git reset --hard 版本号
Git工作中操作流程
- master分支
git pull
远程仓库数据到本地 - 切换到开发分支上,进行新增/修改仓库数据
git checkout develop
git status
查看仓库状态git add .
全部提交(或git add xxx单个提交)git commit -m "提交备注"
进行提交仓库git push origin develop
推送到远程库的开发分支上- 进行代码审核
- 审核完成后进行代码合并
git checkout master # 切换到master主线上
git merge develop # 合并develop分支
git push # 推送master到远程库
Git基本常用命令
mkdir: XX (创建一个空目录 XX指目录名)
pwd: 显示当前目录的路径。
git init 把当前的目录变成可以管理的git仓库,生成隐藏.git文件。
git add XX 把xx文件添加到暂存区去。
git commit –m “XX” 提交文件 –m 后面的是注释。
git status 查看仓库状态
git diff XX 查看XX文件修改了那些内容
git log 查看历史记录
git reset --hard HEAD^ 或者 git reset --hard HEAD~ 回退到上一个版本
(如果想回退到100个版本,使用git reset –hard HEAD~100 )
cat XX 查看XX文件内容
git reflog 查看历史记录的版本号id
git checkout -- XX 把XX文件在工作区的修改全部撤销。
git rm XX 删除XX文件
git remote add origin https://github.com/tugenhua0707/testgit 关联一个远程库
git push –u(第一次要用-u 以后不需要) origin master 把当前master分支推送到远程库
git clone https://github.com/tugenhua0707/testgit 从远程库中克隆
git checkout –b dev 创建dev分支 并切换到dev分支上
git branch 查看当前所有的分支
git checkout master 切换回master分支
git merge dev 在当前的分支上合并dev分支
git branch –d dev 删除dev分支
git branch name 创建分支
git stash 把当前的工作隐藏起来 等以后恢复现场后继续工作
git stash list 查看所有被隐藏的文件列表
git stash apply 恢复被隐藏的文件,但是内容不删除
git stash drop 删除文件
git stash pop 恢复文件的同时 也删除文件
git remote 查看远程库的信息
git remote –v 查看远程库的详细信息
git push origin master Git会把master分支推送到远程库对应的远程分支上
更多常用命令请查看下面链接
https://www.cnblogs.com/upstudy/p/15868898.html
使用中可能遇到的问题
1.git reset恢复指定版本代码后,再无法提交到远程库;git status提示出现2个分支不同提交
报错:Your branch and 'origin/master' have diverged, and have 1 and 1 different commits each, respectively
解决:
先执行
git rebase origin/master # 重写提交历史来实现分支的整合,可以避免分叉合并,保持提交记录的线性。
然后使用
git pull --rebase
最后使用
git push origin master
2.git push origin master的时候会出现失败的现象(master|REBASE 1/10)
报错:master|REBASE 1/10)
解决:https://blog.csdn.net/qq_42469247/article/details/88901756
3.提交代码报错
解决:git pull拉去代码,再解决冲突文件再push上去;强制将本地代码推送到远程(git push -u origin master -f)慎用
4.git push时报连接问题:fatal: Could not read from remote repository.
解决方法一:git push origin <分支名称>(指定远程地址)
解决方法二:
没有远程分支时:
git remote add origin [URL] //将git进行远程连线
有远程分支时:
git branch --set-upstream-to=origin/<分支名> //将git进行远程连线
5.git push报错
解决方法:
! [rejected] master -> master (non-fast-forward)
error: failed to push some refs to 'git@gitlab.huayong.mm:awa_aoto_test/awa_auto_test.git'
hint: Updates were rejected because the tip of your current branch is behind
hint: its remote counterpart. Integrate the remote changes (e.g.
hint: 'git pull ...') before pushing again.
hint: See the 'Note about fast-forwards' in 'git push --help' for details.
6.git冲突产生 和 解决方案 思维导图
推荐几个有关git的学习网站
1.git官网
2.廖雪峰的官方网站中的git教程
https://www.liaoxuefeng.com/wiki/0013739516305929606dd18361248578c67b8067c8c017b000
非常推荐!!!
讲解的浅显易懂,容易理解,还有视频教学,对初次接触者的帮助非常大,建议先跟着廖老师学习git。
3.猴子都能懂的git入门
http://backlogtool.com/git-guide/cn/intro/intro1_1.html
第一次接触的网站,是师弟推荐的,只是可惜呀。。。当时没有学进去。。。
4.菜鸟教程
http://www.runoob.com/git/git-tutorial.html
这个网站也不错,网站上有很多其他工具等的学习教程.
5.练习网址
进群交流、获取更多干货, 请关注微信公众号:
> > > 咨询交流、进群,请加微信,备注来意:sanshu1318 (←点击获取二维码)
> > > 学习路线+测试实用干货精选汇总:
https://www.cnblogs.com/upstudy/p/15859768.html
> > > 【自动化测试实战】python+requests+Pytest+Excel+Allure,测试都在学的热门技术:
https://www.cnblogs.com/upstudy/p/15921045.html
> > > 【热门测试技术,建议收藏备用】项目实战、简历、笔试题、面试题、职业规划:
https://www.cnblogs.com/upstudy/p/15901367.html
> > > 声明:如有侵权,请联系删除。
============================= 升职加薪 ==========================
更多干货,正在挤时间不断更新中,敬请关注+期待。