git(版本控制)超详细解说【工作必备技能】

这篇具有很好参考价值的文章主要介绍了git(版本控制)超详细解说【工作必备技能】。希望对大家有所帮助。如果存在错误或未考虑完全的地方,请大家不吝赐教,您也可以点击"举报违法"按钮提交疑问。

Git

1 什么是Git

Git 是一个开源的分布式版本控制系统,用于敏捷高效地处理任何或小或大的项目。

Git 是 Linus Torvalds 为了帮助管理 Linux 内核开发而开发的一个开放源码的版本控制软件。

Git 与常用的版本控制工具 CVS, Subversion 等不同,它采用了分布式版本库的方式,不必服务器端软件支持。

Git官网:   Git

历史版本

git版本,git&svn,git,github

git小故事:

git版本,git&svn,git,github

2 版本控制分类安装

1 本地版本控制:

记录文件每次的更新,可以对每个版本做一个快照,或是记录补丁文件。

git版本,git&svn,git,github

2 集中版本控制:

所有的版本数据都保存在服务器上,协同开发者做修改和保存。代表产品 SVN

git版本,git&svn,git,github

有问题: 可能服务器故障或者损坏,会丢失数据,丢失历史文件。

3 分布式版本控制: Git

所有版本信息仓库

3.1 Git安装下载

git官网   Git

git版本,git&svn,git,github

下载较慢: 可以用 国内镜像. 可百度.

 http://npm.taobao.org/mirrors/git-for-windows/

下载 一个版本。 下一步 一直安装。

安装成功会在 安装目录中 有 git的图标以及相关的程序。

安装选项配置:

git版本,git&svn,git,github

也可以一直  无脑下一步。

git版本,git&svn,git,github

git Bash:    Unix与 Linux风格的命令行,使用多,推荐。

git cmd:    windows风格的命令号

Git  GUI:   图形化界面的 Git, 不建议使用

可以右键打开 Git, 也可以通过鼠标 滚轮 去调整大小。

3 基本的 linux 命令

tab 命令补全

1 ls命令

就是 list 的缩写,通过 ls 命令不仅可以查看 linux 文件夹包含的文件,而且可以查看文件权限(包括目录、文件夹、文件权限)查看目录信息等等。 有颜色区分

2  cd 命令

cd(changeDirectory) 命令语法: 到某个目录

cd .. 回到上一目录

cd  D:

3  pwd命令

pwd 命令用于查看当前工作目录路径。

4  mkdir 命令

mkdir 命令用于创建文件夹。

在当前目录下创建文件夹:   mkdir  tt

创建连环文件夹:  mkdir  -p  cc/aa/dd

5 rm 命令

删除一个目录中的一个或多个文件或目录,如果没有使用 -r 选项,则 rm 不会删除目录。如果使用 rm 来删除文件,通常仍可以将该文件恢复原状。

删除文件:  rm  a.txt

删除目录:  rm  –r  aa

git版本,git&svn,git,github

 git版本,git&svn,git,github

6   touch命令

新建一个文件,

如:  touch  a.txt

7 mv 命令

移动文件或修改文件名,根据第二参数类型(如目录,则移动文件;如为文件则重命令该文件)。

当第二个参数为目录时,第一个参数可以是多个以空格分隔的文件或目录,然后移动第一个参数指定的多个文件到第二个参数指定的目录中。

git版本,git&svn,git,github

mv  a.txt  D:/ceshi  移动文件 和修改名字,可以反复测试。

8  clear 清屏

Linux 常用命令学习 | 菜鸟教程

4 Git的环境配置:

查看配置:  git  config  -l  

git版本,git&svn,git,github

对应文件在:  D:\D\Git\Git\etc\gitconfig

查看系统配置: git config –system  --list

git版本,git&svn,git,github

查看用户自己配置的: git  config  --global  --list   (新用户报错,没有配置,要配置用户名,密码)

git版本,git&svn,git,github

设置用户名和密码:

执行一下命令初始化配置信息即可:

--global 这是设计系统级别 ,如果不带global,设计项目级别,在该项目系统级别有效。

作用:主要是为了区分不同的开发人员。

设置git的用户签名。必须设置。

配置用户名:git config --global user.name "输入你的用户名"

git config --global user.name lpc

配置邮箱信息:git config --global user.email "输入你的邮箱信息"

git config --global user.email 3487135834@163.com

git并不会验证你的邮箱

git版本,git&svn,git,github

注意: 用户签名和将来登录 github和 码云没有任何关系。只是为了标识你是谁?

15 Git 的工作流程

一般工作流程如下:

  • 克隆 Git 资源作为工作目录。
  • 在克隆的资源上添加或修改文件。
  • 如果其他人修改了,你可以更新资源。
  • 在提交前查看修改。
  • 提交修改。
  • 在修改完成后,如果发现错误,可以撤回提交并再次修改并提交。

git版本,git&svn,git,github

Git 的工作区  暂存区 和版本库

我们先来理解下 Git 工作区、暂存区和版本库概念:

  • 工作区:就是你在电脑里能看到的目录。
  • 暂存区:英文叫 stage 或 index。一般存放在 .git 目录下的 index 文件(.git/index)中,所以我们把暂存区有时也叫作索引(index)。
  • 版本库:工作区有一个隐藏目录 .git,这个不算工作区,而是 Git 的版本库。

git版本,git&svn,git,github

git版本,git&svn,git,github

git版本,git&svn,git,github

 git一般执行的流程:

1 在工作目录添加,修改文件

2 需要进行版本管理的文件放入暂存区  

git  add  [file  name]

撤销从  暂存区中管理的文件  git rm --cached aa.txt

3 将暂存区的文件提交到 git本地仓库  

git  commit –m  “commit message” [file name]

所以: git文件的三种状态: 已修改(modified),以暂存(staged),已提交(committed)

如果推送到远程仓库,  用 push命令。

5.1 Git创建仓库

git创建仓库的方法有两种:

1 创建本地全新仓库

Git 使用 git init 命令来初始化一个 Git 仓库,Git 的很多命令都需要在 Git 的仓库中运行,所以 git init 是使用 Git 的第一个命令。

在执行完成 git init 命令后,Git 仓库会生成一个 .git 目录,该目录包含了资源的所有元数据,其他的项目目录保持不变。

该文件是一个隐藏文件。

git版本,git&svn,git,github

2 克隆远程仓库:

Git文件的状态:

·  
Untracked: 未跟踪, 此文件在文件夹中, 但并没有加入到git库, 不参与版本控制. 通过git add 状态变为Staged

·  Unmodify: 文件已经入库, 未修改, 即版本库中的文件快照内容与文件夹中完全一致. 这种类型的文件有两种去处, 如果它被修改, 而变为Modified. 如果使用git rm移出版本库, 则成为Untracked文件

·  Modified: 文件已修改, 仅仅是修改, 并没有进行其他的操作. 这个文件也有两个去处, 通过git add可进入暂存staged状态, 使用git checkout 则丢弃修改过, 返回到unmodify状态, 这个git checkout即从库中取出文件, 覆盖当前修改

·  Staged: 暂存状态. 执行git commit则将修改同步到库中, 这时库中的文件和本地文件又变为一致, 文件为Unmodify状态. 执行git reset HEAD filename取消暂存, 文件状态为Modified

5.2 查看文件状态:

1 #查看指定文件状态

2 git status [filename]

3 

4 #查看所有文件状态

5 git status

6 

7 #精简的方式显示文件状态

8 git status -s

5.3 git操作

在Git的workspace hello 文件夹中测试:

  1. git status
  2. 新建文件 hello

git版本,git&svn,git,github

git  add .    或者 git add 文件名

git add . 会把本地所有untrack的文件都加入暂存区

如果是把暂存区中的文件撤回为 工作区:

git版本,git&svn,git,github

  1. 提交暂存区中的内容到本地仓库
  2. git commit -m "第一次提交",

5.4 git的操作日志.

回退命令:

$ git reset --hard HEAD^ 回退到上个版本
$ git reset --hard HEAD~3 回退到前3次提交之前,以此类推,回退到n次提交之前
$ git reset --hard  commit_id 退到/进到 指定commit的sha码

git reflog 常用于恢复本地的错误操作。

git reset --hard 3860ecf

git  log可以显示所有提交过的版本信息,不包括已经被删除的 commit 记录和 reset 的操作 ,详细的日志

git reflog是显示所有的操作记录,包括提交,回退的操作。一般用来找出操作记录中的版本号,进行回退。精简版本的日志   用HEAD指针管理。

git版本,git&svn,git,github

git reflog常用于恢复本地的错误操作。

场景:我们commit了一个操作,发现提交的是错误的,我们进行了回退,git reset HEAD^,也进行了checkout 操作,就是把工作区的文件也回退还原了,这时候发现commit的没有问题。等于说删了不该删的了,咋整,想再回退到删除之前的。找到之前的版本号进行回退,使用git log发现那个提交的版本号记录根本不存在了。

可以观察自己仓库中的:  .git目录下面的  HEAD 和 ref 中的 heads 的master

  1. Git的分支

几乎所有的版本控制系统都以某种形式支持分支。 使用分支意味着你可以把你的工作从开发主线上分离开来进行重大的Bug修改、开发新的功能,以免影响开发主线。

分支的好处是: 同时推进多个功能的开发,提高开发效率。

各个分支在开发过程中,如果某一个分支开发失败,不会影响其他分支的开发,失败的分支删除重新开始即可。

6.1 分支的基本操作

分支操作的命令:

git版本,git&svn,git,github

git  branch dev   创建一个开发分支

git  branch –v  查看现在有哪些分支

修改分支之后,要添加到暂存区,提交到本地库。

在主分支的位置上,合并 开发分支。

git版本,git&svn,git,github

分支正常 合并,前面的命令够用。

  1. 冲突合并

在分支合并中,两个分支在同一个文件的同一个位置都做了修改。Git无法决定使用哪一个,必须的认为决定使用哪一个分支。

演示:

在主分支上添加 一行,保存,提交。

切换到dev分支,在dev分支上同一位值写一行,保存,提交。

切换到主分支。用主分支合并dev分支。

看结果。

git版本,git&svn,git,github

看真实文件。手动解决。

解决之后,  添加   提交就行。 不要加文件名。

git版本,git&svn,git,github

git版本,git&svn,git,github

7 Git团队协作机制

7.1 团队内协作

git版本,git&svn,git,github

7.2 跨团队协作

git版本,git&svn,git,github

8 Git的远程仓库

8.1 远程仓库的种类

git远程仓库有 gitbub, 码云, GitLab等

GitLab  地址The DevSecOps Platform | GitLab   ,用于仓库管理的的开源项目,一般用在企业,学校内部网络,自己搭建git私服。

重点操作: 码云。

  1. 码云: 

进入码云的官网,注册信息。

9.1 绑定QQ。

git版本,git&svn,git,github

9.2 创建仓库

git版本,git&svn,git,github

9.3 设置本机绑定 SSH 公钥,实现免密码登录.

  1 找到 ssh目录,  .ssh

git版本,git&svn,git,github

如果没有.ssh目录,可以自己建一个。

git版本,git&svn,git,github

  2  ssh-keygen  -t  rsa

git版本,git&svn,git,github

用该指令之后,一路回车。不用输入

git版本,git&svn,git,github

有对应的两个文件,

git版本,git&svn,git,github

把生成的公钥 贴近码云中。  public 文件

git版本,git&svn,git,github

 git版本,git&svn,git,github

验证成功之后,可以用码云创建一个自己的仓库。

可以验证是否连通gitee

ssh –T git@gitee.com

手写

ssh -t -p 22 git@gitee.com

git版本,git&svn,git,github

9.4 本地文件推送到仓库中

本地库和远程库建立联系

gitee上新建空仓库的时候,有提示

cd existing_git_repo

git remote add origin https://gitee.com/lpcboy/lpcone.git

git push -u origin master

本地库 搞好,提交了之后push.

也可以:

git remote add origin https://gitee.com/lpcboy/lpcone.git

git push –set-upstream origin master

https://blog.csdn.net/jqwei2/article/details/93535543

9.44 好的操作

1 在 gitee上新建一个仓库。

2 建一个仓库,按没有仓库的操作。

git版本,git&svn,git,github

如果已经有仓库按照,已有仓库的操作。

git版本,git&svn,git,github

如果 让输入密码: 输入正确。 

如果用户名密码输入错误: 下一次还是错误的用户名密码。 Git是会保存用户名密码的。

在控制面板à  用户账户

git版本,git&svn,git,github

git版本,git&svn,git,github

删除即可,就会让你重新输入 密码。

操作就是正常的。

git add   git commit   git push

9.5 clone的形式 clone到本地。

https://gitee.com/lpcboy/helloone.git

git版本,git&svn,git,github

克隆下来测试:

注意:一定要进入 git目录。

10 IDEA集成 git

新建一个 项目sb,

把远程copy下来的 git配置 copy进本项目中。

git版本,git&svn,git,github

文件选中的状态.

git版本,git&svn,git,github

git  add  .

可新建包,新建类 观察文件的颜色等。

git版本,git&svn,git,github

可以提交到远程仓库  git push

也可以选中项目,提交.

第二种集成git的方式:

1 git中建好项目。

2.git版本,git&svn,git,github

3 导入到版本管理器.

git版本,git&svn,git,github

在idea中使用Git提交代码到远程仓库_qq_43179622的博客-CSDN博客

提交不上 解决方案:    

https://blog.csdn.net/snakemoving/article/details/79478947

过滤资源文件夹,哪些可以不用提交。

git版本,git&svn,git,github

11 IDEA集成Git  New

11.1 在idea中配置Git

配置git的安装目录,给Idea.

git版本,git&svn,git,github

11.2 在码云中创建仓库

创建一个仓库就行。勾选的协议什么的可以不勾选。

记录SSH地址: https://gitee.com/lpcboy/lpcgit.git

git版本,git&svn,git,github

11.3 建一个和码云中一样的项目

11.4 .gitignore的常用配置

https://www.cnblogs.com/haojile/p/13326536.html

把 .gitignore 放入项目跟目录下面。

11.5 把该项目变成git仓库

git版本,git&svn,git,github

选中项目,然后 git管理该项目。

git版本,git&svn,git,github

直接提交就好,过滤文件过滤了不用的配置。

11.6 提交到远程仓库

git版本,git&svn,git,githubgit版本,git&svn,git,github

如果需要输入密码: 输入密码即可。

12 从远程仓库中下载代码

git版本,git&svn,git,github

输入git的 ssh 地址。

协同开发的时候 ,永远 先 pull , 再push。

同时提交同一块代码 会冲突.

git版本,git&svn,git,github

13 分支操作

1 创建分支:

git版本,git&svn,git,github

dev

2 在分支上开发代码,提交到远程仓库。

git版本,git&svn,git,github

3 把分支上的代码 合并到 主分支

1 切换到主分支 ,master àcheckout

2 站在主分支的角度,合并代码到本地

git版本,git&svn,git,github

3 远程仓库

本地选中,push上去。文章来源地址https://www.toymoban.com/news/detail-744147.html

到了这里,关于git(版本控制)超详细解说【工作必备技能】的文章就介绍完了。如果您还想了解更多内容,请在右上角搜索TOY模板网以前的文章或继续浏览下面的相关文章,希望大家以后多多支持TOY模板网!

本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如若转载,请注明出处: 如若内容造成侵权/违法违规/事实不符,请点击违法举报进行投诉反馈,一经查实,立即删除!

领支付宝红包 赞助服务器费用

相关文章

  • 【Linux】Linux安装Git(图文解说详细版)

    服务器版本:CentOS7.8 git官网:https://git-scm.com/download/linux 有两种安装方法第一种,yum安装,直接输入一行命令就可以进行安装了 输入 git --version查看Git是否安装完成以及查看其版本号 默认安装位置: /usr/libexec/git-core 但是我今天推荐大家自定义安装,为什么?大家看看官网最

    2024年02月10日
    浏览(38)
  • Git分布式版本控制工具(详细笔记)

    git config -- global user.name\\\"itcast\\\" git config -- global user.email\\\"hello@itcast.cn\\\" (邮箱没有什么用,我这里就简单写了) git config -- global user.name  git config -- global user.email 有些常用的指令参数非常多,每次都要输入好多参数,我们可以使用别名。 1.打开用户目录,创建.bashrc文件      部分

    2024年02月14日
    浏览(49)
  • Git版本控制器使用教程(超详细版)

    目录 一、git安装 二、git 工作原理与常用命令 1.配置用户信息  2.检查用户信息 3.git初始化本地仓库 4. git的各个模块  5. git 工作流程  6.git跟踪文件  7.git修改文件 8.git删除文件 9. git撤销本地文件的修改 10. git 取消暂存 11.git跳过暂存区 12.git版本回退  13.git 撤销提交 14. git 设

    2024年02月16日
    浏览(85)
  • 解密算法王国:揭秘程序员必备技能(超详细)

    一个程序员一生中可能会邂逅各种各样的算法,但总有那么几种,是作为一个程序员一定会遇见且大概率需要掌握的算法。今天就来聊聊这些十分重要的“必抓!”算法吧~ 作为程序员,掌握算法是至关重要的。算法是解决问题和优化程序性能的核心。在这篇博客中,我们将

    2024年02月16日
    浏览(65)
  • 详解git(工作必备)

    Git 是一个开源的分布式版本控制系统,用以有效、高速的处理从很小到非常大的项目版本管理。 Git 的作用与好处是: 可以帮我们保存文件的所有修改记录,并且使用版本号进行区分,让我们随时可以浏览历史版本、对比不同版本的差异、还原到指定版本,起到恢复和保护作

    2023年04月26日
    浏览(33)
  • Maven 必备技能:MAC 系统下 JDK和Maven 安装及环境变量配置详细讲解

    开发中难免因系统问题或者版本变更反复折腾JDK和Maven环境变量,干脆写个笔记备忘个,也方便小伙伴们节省时间。 =================JDK安装与环境变量配置====== 1.官网下载jdk mac安装包: Java Downloads | Oracle \\\" https://www.oracle.com/java/technologies/downloads/#java8-mac \\\"【jdk8及以下版本需要o

    2024年02月04日
    浏览(47)
  • 前端开发调式必备技能F12开发者工具之Elements(元素)面板,详细图解带流程【第一部分】

    目录 一、进入浏览器开发工具的几种方式 二、Elements(元素)面板  左侧区域 右侧区域  计算样式 事件监听器 大家好!我是爷爷的茶七里香,这个名字有没有让你想起周董的歌捏?好了,废话不多说,开始今天咱们的内容:         相必是个老手都知道按键盘上的f12就

    2023年04月13日
    浏览(86)
  • Git&Github小册:版本管理必备利器

    这一步骤的前提是先注册一个 GitHub 的账号,由于那都是小场面,就不再巴拉巴拉。 说明一下,全文如果没有特别的单独说明,文中所有用【】括起来的内容都代表网页或者软件节点的操作按钮或者步骤选择项。 打开 GitHub 登录后在个人主页的右上角点击加号之后再点击:

    2024年04月23日
    浏览(45)
  • 【Git 小妙招】轻松掌握管理版本标签(必备知识)

    本文是学习使用 Git 的一个必备知识 — 标签管理, 在我们开发过程中, 会有一些重要版本需要进行标记处理, 这就要使用到标签了. 关注收藏, 开始学习吧🧐 标签 tag ,可以简单的理解为是对某次 commit 的⼀个标识,相当于起了⼀个别名。例如,在项⽬发布某个版本的时候,针

    2024年02月02日
    浏览(60)
  • 第7天:信息打点-资产泄漏&;CMS识别&;Git监控&;SVN&;DS_Store&;备份

    网上开源的程序,得到名字就可以搜索直接获取到源码。 cms在线识别: 账号要花钱在线申请 注册条件: 还会查询域名等信息,不一定准确。 支持的识别框架 源码泄露原因: 7kbsan扫描其扫描扫到一个1.zip,访问www.h0r2yc.com/1.zip就可以进行下载。 这时候目录遍历漏洞有可以,

    2024年02月03日
    浏览(54)

觉得文章有用就打赏一下文章作者

支付宝扫一扫打赏

博客赞助

微信扫一扫打赏

请作者喝杯咖啡吧~博客赞助

支付宝扫一扫领取红包,优惠每天领

二维码1

领取红包

二维码2

领红包