Git 概述、命令、分支,免密登录;及 Idea 集成 GitHub

这篇具有很好参考价值的文章主要介绍了Git 概述、命令、分支,免密登录;及 Idea 集成 GitHub。希望对大家有所帮助。如果存在错误或未考虑完全的地方,请大家不吝赐教,您也可以点击"举报违法"按钮提交疑问。

Git

Git 概述

Git 是一个免费的、开源的分布式版本控制系统,可以快速高效地处理从小型到大型的各种项目

Git 易于学习,占地面积小,性能极快。它具有廉价的本地库,方便的暂存区域和多个工作流分支等特性。其性能优于 Subversion、CVS、Perforce 和 ClearCase 等版本控制工具

集中化的版本控制系统诸如 CVS、SVN 等、都有一个单一的集中管理的服务器,保存所有文件的修订版本,而协同工作的人们都通过客户端连到这台服务器,取出最新的文件或者提交更新。多年以来,这已成为版本控制系统的标准做法

这种做法带来了许多好处,每个人都可以在一定程度上看到项目中的其他人正在做些什么。而管理员也可以轻松掌握每个开发者的权限,并且管理一个集中化的版本控制系统,要远比在各个客户端上维护本地数据库来得轻松容易

事分两面,有好有坏。这么做显而易见的缺点是中央服务器的单点故障。如果服务器宕机一小时,那么在这一小时内,谁都无法提交更新,也就无法协同工作

像 Git 这种分布式版本控制工具,客户端提取的不是最新版本的文件快照,而是把代码仓库完整地镜像下来(本地库)。这样任何一处协同工作用的文件发生故障,事后都可以用其他客户端的本地仓库进行恢复。因为每个客户端的每一次文件提取操作,实际上都是一次对整个文件仓库的完整备份

分布式的版本控制系统出现之后,解决了集中式版本控制系统的缺陷

  1. 服务器断网的情况下也可以进行开发(因为版本控制是在本地进行的)
  2. 每个客户端保存的也都是整个完整的项目(包含历史记录,更加安全)

Git 分为工作区(本地磁盘)-暂存区(临时存储)-本地库(历史版本)-远程库(托管中心)

  • Git 的当前版本是基于上一版本的,因此不能删除历史版本
  • 代码托管中心是基于网络服务器的远程代码仓库,一般我们简单称为远程库
    • 局域网:GitLab
    • 互联网:GitHub、Gitee

Git 安装

文章来源地址https://www.toymoban.com/news/detail-733926.html

Git 命令

常用命令

命令名称 作用
git config --global user.name 设置用户签名
git config --global user.email 设置用户签名
git init 初始化本地库
git status 查看本地库状态
git add 文件名 添加到暂存区
git commit -m “提交说明” 文件名 提交到本地库
git reflog 查看历史记录(含版本号前七位)
git reset --hard 版本号 版本穿梭

签名的作用是区分不同操作者身份。用户的签名信息在每一个版本的提交信息中能够看到,以此确认本次提交是谁做的。Git 首次安装必须设置一下用户签名,否则无法提交代码

这里设置的用户签名和将来登录 GitHub(或其他代码托管中心)的账号没有任何关系

较之于 git reflog,git log 可以看到更完整的历史记录(包含日期、用户名、邮箱和完整版本号)

Git 版本穿梭的底层是修改指针引用

  • head → master → second(指向 master 分支的第二版)
  • head → master → first(指向 master 分支的第一版)

Git 分支

在版本控制过程中,同时推进多个任务,为每个任务,我们就可以创建每个任务的单独分支。使用分支意味着程序员可以把自己的工作从开发主线上分离开来,开发自己分支的时候,不会影响主线分支的运行。对于初学者而言,分支可以简单理解为副本,一个分支就是一个单独的副本(分支的底层其实也是指针的引用

Git 概述、命令、分支,免密登录;及 Idea 集成 GitHub,git

分支的好处

  • 同时并行推进多个功能开发,提高开发效率
  • 各个分支在开发过程中,如果一个分支开发失败,不会对其他分支有任何影响。失败的分支删除重新开始即可

Git 分支命令

命令名称 作用
git branch 分支名 创建分支
git branch -v 查看分支
git checkout 分支名 切换分支
git merge 分支名 把指定的分支合并到当前分支上

合并分支时,若两个分支在同一个文件的同一个位置(这里指同一行或相邻行,间隔一行不会触发)有两套完全不同的修改。Git 就会认为发生了合并冲突

此时需要手动进行修改,并将修改后的文件添加到暂存区,提交到本地库,即合并成功

合并分支只会修改一个分支(被合并的分支)

创建分支的本质就是多创建一个指针,head 指向当前所在的分支的提交

跨团队协作(跨仓库)时,才会使用 fork 和 merge 操作

Idea 集成 Git

配置 Git 忽略文件(有些文件与项目的实际功能无关,不参与服务器上部署运行。把他们忽略掉能够屏蔽 IDE 工具之间的差异)

  1. 创建忽略规则文件 xxxx.ignore(一般是 git.ignore)

  2. .ignore 文件模板内容如下

    # Compiled class file
    *.class
    
    # Log file
    *.log
    
    # BlueJ files
    *.ctxt
    
    # Mobile Tools for Java (J2ME)
    .mtj.tmp/
    
    # Package Files #
    *.jar
    *.war
    *.nar
    *.ear
    *.zip
    *.tar.gz
    *.rar
    
    # virtual machine crash logs
    hs_err_pid*
    
    .classpath
    .project
    .settings
    target
    .idea
    *.iml
    
  3. 在 .gitconfig 文件中引用忽略配置文件

    [core]
    	excludesfile = C:/Users/asus/git.ignore
    

在 Maven 中也可以直接配置 ignore

Idea 初始化本地库:VCS(Version Control Setting)→ Import into Version Control → Create Git Repository

Idea 中标红的文件表示未添加到暂存区

Idea 中标绿的文件表示已添加到暂存区

Idea 中标蓝的文件表示已添加到暂存区,并被再次修改了

Idea 添加到本地库:右键项目→ Git → Add,会提示 The following dictory may contain ignored files. Do you want to force add it? 这时点击 Cancel,即添加成功

Idea 提交到本地库:右键项目→ Git → Commit Directory,输入提交说明,点击 Commit

Idea 中正常标黑的文件表示已提交到本地库,不需要再提交了

Idea 切换版本:左下 Version Control → Log 可以查看所有分支版本和当前分支版本,在要切换的版本上右键点击 Checkout Revision ‘xxxxxxxx’

在 Idea 中,既可以将 head 指针指向某个版本,也可以将 head 指针指向某个分支指针(如 master,这也是默认的行为)

Idea 创建分支:右键项目→ Git → Repository → Branches → New Branch

在 Idea 的右下角状态栏也会显示当前处于哪个分支,可点击并创建的新分支

若勾选 Checkout branch,则不仅会创建分支,还会切换到新分支

Idea 合并分支:在右下角状态栏点击分支,点击要合并来的分支,点击 Merge into Current

Idea 冲突合并:会弹出标题为 Conflicts 的弹窗,可选择:

  • Accept Yours
  • Accept Theirs
  • Merge…(手动合并)

GitHub

创建远程库

点击 New repository,输入远程库名字(建议和本地库名字一致)

常用命令

命令名称 作用
git remote -v 查看当前所有远程地址
git remote add 添加远程地址

代码推送 Push

代码拉取 Pull

拉取动作会自动提交本地库(一般用于合并代码)

代码克隆 Clone

从公共库克隆代码不需要登录账号

Clone 会做如下操作:

  1. 拉取代码
  2. 初始化本地库
  3. 创建别名

SSH 免密登录

ssh-keygen -t rsa -C atguiguyueyue@aliyun.com

生成公钥后,复制到 GitHub 的 SSH keys 中

此后,可以使用 SSH 链接在 Git 进行拉取和推送(不必登录)

Idea 集成 GitHub

push 操作:

  • 在进行 push 操作之前,确保先进行了 pull 操作,以便将远程库的最新更改合并到本地库中
  • 如果本地库的版本比远程库的版本高(有新的提交),则在 push 之前需要先进行合并操作,以解决可能存在的冲突
  • 确保解决冲突后,再进行 push 操作,将本地库的更改推送到远程库

pull 操作:

  • 在进行 pull 操作之前,确保先进行了 commit 操作,将本地的修改保存到本地库中
  • 如果远程库的版本比本地库的版本高(有新的提交),则进行 pull 操作将远程库的更改合并到本地库中
  • 如果合并过程中存在冲突,需要解决冲突后再进行 commit 操作

clone 操作:新建时,选择 Get from Version Control

Gitee

创建远程库

Idea 集成 Gitee

Gitee 连接 GitHub 进行代码的复制和迁移

码云(Gitee)提供了直接复制 GitHub 项目的功能,方便我们做项目的迁移和下载

  • 导入已有仓库
  • 已导入的 GitHub 仓库内容更新后,可在 Gitee 中选择强制同步,覆盖 Gitee 仓库

GitLab

GitLab 服务器的搭建和部署

Idea 集成 GitLab

到了这里,关于Git 概述、命令、分支,免密登录;及 Idea 集成 GitHub的文章就介绍完了。如果您还想了解更多内容,请在右上角搜索TOY模板网以前的文章或继续浏览下面的相关文章,希望大家以后多多支持TOY模板网!

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

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

相关文章

  • Jenkins 持续集成:Linux 系统 两台机器互相免密登录

    背景知识 我们把public key放在远程系统合适的位置,然后从本地开始进行ssh连接。 此时,远程的sshd会产生一个随机数并用我们产生的public key进行加密后发给本地,本地会用private key进行解密并把这个随机数发回给远程系统。 最后,远程系统的sshd会得出结论我们拥有匹配的

    2024年02月15日
    浏览(29)
  • 【Git系列】Git配置SSH免密登录

    【其他系列】 :Git最详细的体系化教程 在以上push操作过程中,我们第一次push时,是需要进行录入用户名和密码的,比较麻烦。而且我们使用的是https连接方式,在真正工作中我们使用的是SSH连接方式,SSH连接方式要比https方式更安全。 SSH和HTTPS只是连接方式,要push操作时,

    2024年02月14日
    浏览(28)
  • Springboot钉钉免密登录集成(钉钉小程序和H5微应用)

    欢迎访问我的个人博客:www.ifueen.com RT,因为业务需要把我们系统集成到钉钉里面一个小程序和一个H5应用,并且在钉钉平台上面实现无感登录,用户打开我们系统后不需要再输入密码即可登录进系统,查阅文档实际操作过之后记录一下过程 首先就是需要在钉钉开发者平台申请

    2024年02月09日
    浏览(29)
  • Git浅谈配置文件和免密登录

    简述git三种配置 ssh免密登录以及遇见的问题 git可忽略文件 git remote 相关操作 项目配置文件(局部):项目路径/.git/config 文件 全局配置文(所有用户): C:Users用户名.gitconfig 文件 系统配置文件 针对linux和mac: /etc/.gitconfig 我随便打开一个本地仓库的配置文件如下图1所示,可以看

    2024年04月26日
    浏览(25)
  • Linux at命令与crond命令,Linux主机之间ssh免密登录

    atd是单一执行的任务管理程序,一个任务管理程序只会执行一次任务 crond是循环性执行好的任务管理程序,例如可以在每年,每月,每天,某个时间段进行执行任务。 前置步骤 1.client创建密钥 2.查看文件 3.发送密钥 4.验证

    2024年02月13日
    浏览(36)
  • git 免密登录/密钥失效/Missing or invalid credentials.

    Missing or invalid credentials. 应该是原来创建的token过期了,直接执行步骤3即可 pull时再输入一遍用户名和token以后就不用输入了 references: https://cloud.tencent.com/developer/article/2235142 https://www.cnblogs.com/convict/p/14888283.html

    2024年02月03日
    浏览(35)
  • Git常用命令和免密设置

    进入文件 git init  git status                    git add                      进入暂存群管理 git commit -m                提交并创建新版本 git log                      查看版本 git reset --hard 版本号      切换回指定版本 git reflog                   查看切换版本前的版

    2024年02月12日
    浏览(37)
  • Idea | Idea更新git分支

    Git - Update Project 或者 VCS - Update Project

    2024年02月11日
    浏览(26)
  • Git的分支操作以及IDEA中操作Git的分支

    目录 一、在 Git 中,分支(Branch)是指开发者可以在同一个代码库中创建的独立的线索,用于并行开发和管理代码的不同版本。通过使用分支,可以在不影响主干代码的情况下进行实验、开发新功能、修复 bug 或者处理不同的任务。 1. 并行开发: 2. 版本管理: 3. 特性开发:

    2024年02月11日
    浏览(31)
  • IDEA Git 合并分支

    一、团队协作中,开发人员分别在feature分支上进行功能开发,并push代码到远端feature上。当测试人员需要对功能进行测试的时候,我们需要把feature上新增的功能代码合并到develop分支上去。 步骤: 1、将feature上新增的代码push到远端feature上。 2、切换分支到develop分支。(就是

    2024年02月11日
    浏览(37)

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

支付宝扫一扫打赏

博客赞助

微信扫一扫打赏

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

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

二维码1

领取红包

二维码2

领红包