有测试问题请微信联系作者,备注来意(点击此处添加)
240
一名普通的测试打工人;专注自动化测试技术研究、实践、总结、分享、交流。
用我多年的经历,给大家带来更多实用的干货。
人若有志,就不会在半坡停止。

Git使用教程(超全,看一篇就够了)

目录


Git介绍

Git是什么?

Git是目前世界上最先进的分布式版本控制系统。

SVN与Git的最主要的区别?

SVN是集中式版本控制系统,版本库是集中放在中央服务器的,而干活的时候,用的都是自己的电脑,所以首先要从中央服务器哪里得到最新的版本,然后干活,干完后,需要把自己做完的活推送到中央服务器。集中式版本控制系统是必须联网才能工作,如果在局域网还可以,带宽够大,速度够快,如果在互联网下,如果网速慢的话,就纳闷了。

Git是分布式版本控制系统,那么它就没有中央服务器的,每个人的电脑就是一个完整的版本库,这样,工作的时候就不需要联网了,因为版本都是在自己的电脑上。既然每个人的电脑都有一个完整的版本库,那多个人如何协作呢?比如说自己在电脑上改了文件A,其他人也在电脑上改了文件A,这时,你们两之间只需把各自的修改推送给对方,就可以互相看到对方的修改了。

Git安装

windows上安装Git

下载安装

下载地址https://git-scm.com/download/win

1644288011107

下载好后,双击进行下一步下一步即可。

验证git安装是否成功

1). 命令行输入:git --version,提示如下标识安装成功

1644290405186

2). 回到电脑桌面,鼠标右击如果看到有两个git单词则安装成功

1644289587766

Linux上安装Git

yum安装

在Linux上是有yum安装Git,非常简单,只需要一行命令

yum -y install git

输入 git --version查看Git是否安装完成以及查看其版本号

1644290508395

备注: 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使用

操作流程

img

img

git操作演示

1.进入demo文件夹

cd demo

2.初始化仓库

git init

1644291613340

3.仓库中创建readme.txt文件,内容:test

1644291788167

4.查看仓库状态

1644291821994

5.添加文件到暂存区中

git add readme.txt

6.提交文件到仓库

git commit -m "readme.txt提交"

1644292046905

7.查看仓库状态

1644292083741

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

1644292226504

10.git log来查看最近到最远的历史提交日志

1644292491593

11.回退版本

git reset  --hard 版本号 

Git工作中操作流程

  1. master分支git pull远程仓库数据到本地
  2. 切换到开发分支上,进行新增/修改仓库数据
    git checkout develop
  3. git status查看仓库状态
  4. git add .全部提交(或git add xxx单个提交)
  5. git commit -m "提交备注"进行提交仓库
  6. git push origin develop推送到远程库的开发分支上
  7. 进行代码审核
  8. 审核完成后进行代码合并
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报错

img

解决方法:

! [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冲突产生 和 解决方案  思维导图

推荐几个有关git的学习网站

1.git官网

https://www.git-scm.com/

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.练习网址

https://learngitbranching.js.org/?locale=zh_CN

posted @ 2022-02-08 12:14  三叔测试笔记  阅读(41221)  评论(0编辑  收藏  举报
返回顶部 跳转底部