Java开发环境搭建(进阶配置五 ——版本控制工具之GIT)

2023-11-08

与CVS、SVN等集中式版本控制工具不同,Git是分布式版本控制工具。开发人员通过Checkout从中心版本库Copy一个完整的版本库到本地,就算不联网也可以进行commit、update等操作,而且每次操作都是在本地进行,因而速度非常快。同时可以通过Push操作把代码提交到远程仓库,通过pull操作从远程仓库拉取最新代码。

基于Git的代码托管平台有GitHub、GitLab、Coding.net、开源中国、CSDN、Bitbucket等。其中用户量最多、使用最广泛的当属GitHub,它常常搭配GitHub for Windows(一款针对GitHub平台的Git客户端软件,当然也可以用它来访问其他Git服务器)一起使用。另外,GitHub还是一个大型的开源社区网站,号称程序员最爱逛的网站。
常用的Git客户端:GitHub for windows、TortoiseGit、msysGit(也叫Git for Windows,Git在Windows的客户端)等,前两者都基于后者,GitHub for Windows内置了一个msysGit,所以不需要单独安装。
也可以搭建自己的Git服务器(类似GitHub的代码托管平台):由于GitHub上托管私有项目需要收费,所以我们可以借助一些开源的工具来搭建一个类似的平台,我们选择在Windows中比较常用的Gitblit;

一. GitHub:

  1. 注册:
    百度搜索:github,点击链接进入官网
    这里写图片描述
    输入用户名、邮箱、密码点击注册按钮
    这里写图片描述
    完成注册以及相关的设置之后就可以进入个人主页:
    这里写图片描述
  2. 新建项目
    进入个人主页后点击New repository 可以创建一个新项目
    这里写图片描述
    创建完成后会进入项目主页,
    这里写图片描述
  3. 下载GitHub客户端(GitHub for Windows 也叫GitHub Desktop)
    百度搜索github desktop,点击进入下载页面
    这里写图片描述
    当然也可以通过github官网进入(直接拉到最低端)
    这里写图片描述
    进入下载页面后直接点击下载
    这里写图片描述
    如果你想下载32位的,回答是没有,因为官网说了没有Installing GitHub Desktop
    下载完成后如下图
    这里写图片描述
  4. 安装GitHub Desktop
    双击下载好的exe文件
    选择Sign into GitHub.com
    这里写图片描述
    填入在网页端注册的用户名和密码,然后点击Sign in
    这里写图片描述
    之后会显示你的用户名和邮箱用来确认,直接点击Continue即可
    这里写图片描述
    保持原有设置,直接点击Finish
    这里写图片描述
    安装完成后,如下图,可进行一些操作
    这里写图片描述
    桌面上会出现两个图标
    这里写图片描述
  5. 简单使用
    安装完成后自动到客户端主页,也可以直接双击桌面上的GitHub Desktop上述步骤圈出了三个地方,分别对应创一个先项目,从本地导入一个已经存在的项目,从GitHub上Checkout一个已经存在的项目,细节如下
    1)创建新项目:
    点击 Create new repository
    这里写图片描述
    创建完成后如下:
    这里写图片描述
    这里写图片描述
    现在只是在本地创建了仓库,需要push到服务器端
    这里写图片描述
    操作完成后,在github网页上会看到这个项目
    这里写图片描述
    新建一个test.txt的文件并写上内容
    这里写图片描述
    会有一个change,这一步只是commit到了本地仓库
    这里写图片描述
    想要同步到网站上还需要如下操作:
    这里写图片描述
    就可以在网站上看到如下更新:
    这里写图片描述
    2)从本地导入已经存在的项目:
    由于已经存在仓库了所以再次打开Github客户端时与首次打开有点不同,此时需要导入已经存在的仓库,
    这里写图片描述
    选择路径
    这里写图片描述
    3)从GitHub上面导入已经存在的项目:
    这里写图片描述
    选择要clone的项目
    这里写图片描述
    第二种方式
    这里写图片描述
    导入成功后如下:
    这里写图片描述
    之后的操作与上述步骤一致
    二. Gitblit,TortoiseGit 和 msysGit(不是很常用,略):
    Gitlib:可以借助Gitlib搭建一个自己的代码托管平台,Gitlib是基于Java的git管理工具,所以在安装之前请确保JDK已经安装。
    TortoiseGit 和 msysGit:不怎么常用的git工具。

三. Git命令行:
Eclipse和Idea都提供了Git的图形界面客户端。我比较习惯用命令行,所以在转用Idea之前我都用git bash(http://git-scm.com/downloads 由此下载并安装,按需要选择配置SSH )。 分享一些经常用的git命令行吧。

git status
git status >> <log_path>
git clone <repo_name>
git checkout <branch_name>
git checkout -b <branch_nmae>
git checkout -b <branch_name> origin/<branch_name>
git checkout .
git checkout -- <file_path>
git checkout <commit_id> <file_path>

git tag <tag_name>
git push origin <tag_name>
git tag -d <tag_name>
git push --delete origin <tag_name>

git branch
git branch -m <old_branch_name> <new_branch_name>
git push origin :<old_branch_name>
git push --set-upstream origin <new_branch_name>
git push -u <new_branch_name>
git branch | xargs git branch -d    -->xargs代表因此错误
git branch | grep 'dev*' | xargs git branch -d --> grep是查找
git branch -d <branch_name>
git branch -r -d origin/<branch_name>

git merge dev
git merge dev >> <log_path>
git merge --abort

git reset --hard <commit_id>  -->让HEAD指向该commit,该commit之后的所有记录将被清除。
git revert <commit_id>  -->是用一次新的commit来回到之前的commit状态,会产生一次新的commit,中间的记录会被保留。
本文内容由网友自发贡献,版权归原作者所有,本站不承担相应法律责任。如您发现有涉嫌抄袭侵权的内容,请联系:hwhale#tublm.com(使用前将#替换为@)

Java开发环境搭建(进阶配置五 ——版本控制工具之GIT) 的相关文章

  • 如何将工作树与提交进行比较?

    我在用着 git diff mycommit 用于比较我的工作树mycommit 但它似乎忽略当前索引中不存在的文件 您可以按如下方式重现它 git init echo A gt A txt git add git commit m A g
  • VB - 以隐式方式链接 DLL

    我正在开发 VB6 图形界面 并且需要隐式链接到 DLL 这样做的动机来自于我上一个问题 https stackoverflow com questions 5194573 有问题的 DLL 使用静态 TLS declspec thread
  • 如何删除 GitHub markdown 项目符号/列表上的额外行空间?

    GitHub 的 Markdown 代码 1 First item subitem 1 Second item 之间产生很大的空间First Second和subitem 如何制作subitem靠近第一个项目 而不是正好在它们的中间 这是我
  • `git Reset HEAD file` 是否也检查该文件?

    我错误地向 git 添加了一个目录 当我按照提示操作时here https stackoverflow com questions 348170 undo git add通过执行以下操作来撤消添加git reset HEAD
  • 什么是WINVER?

    我正在查看一些代码 他们有这一行 define WINVER 0x0501 in stdafx h文件 为什么需要定义WINVER 它如何影响您的代码 有人可以解释一下吗 WINVER 确定构建应用程序所需的最低平台 SDK 这反过来又会在
  • 如何在 macOS 上将 Git 升级到最新版本?

    我刚刚购买了一台装有 OS X Lion 的新 Mac 我在终端中检查了默认安装的 git 版本 我得到了答案 git version gt git version 1 7 5 4 我想将 git 升级到最新版本 1 7 8 3 因此我下载
  • Windows批处理文件:将结构转换为单行字符串

    我需要将这个艰巨的任务作为批处理文件来完成 这对于 C 来说不是最困难的 但在 DOS 中是一个地狱 至少对我来说 我需要将结构转换为单个 var 字符串 才能在我的程序中再次将它们转换为该结构 别担心回归 一切都已经完成了 该结构的大小会
  • 可以读取目标文件吗?

    我很好奇 obj文件 我几乎不知道它们是什么 或者它们包含什么 所以我用 Vim 文本编辑器打开它们 我在里面发现了一种类似外星人的语言 有什么办法可以理解它们代表什么以及它们的内容是什么 另外 它们的用途是什么 Thanks Sure 但
  • 当 .gitattributes 中的 EOL 设置为 CRLF 时,Git diff 认为行结尾为 LF

    当我恢复对带有 Windows 行结尾的文件的更改并且 gitattributes 将 EOL 定义为 CRLF 时 git 认为行结尾已更改为 LR 即使十六进制编辑器显示 CRLF 仅当 gitattributes 定义 EOL 字符时
  • conio.h 不包含 textcolor()?

    我一直在考虑在我用 C 编写的 DOS 程序中使用颜色 有人告诉我conio h有textcolor 函数 但是当我在代码中使用它时 编译器 链接器会向我抛出错误 说我对该函数有未定义的引用 Does conio h真的有这个功能还是有人告
  • 如何验证文件名称在 Windows 中是否有效?

    是否有一个 Windows API 函数可以将字符串值传递给该函数 该函数将返回一个指示文件名是否有效的值 我需要验证文件名是否有效 并且我正在寻找一种简单的方法来完成此操作 而无需重新发明轮子 我正在直接使用 C 但针对的是 Win32
  • Node.js 升级在 Windows 中仍然显示旧版本

    我已使用 msi 安装程序下载并安装了新版本的 nodejs 4 1 2 之后我跑了node v 但它仍然显示旧版本 0 12 2 我尝试重新启动Windows 甚至卸载nodejs并重新安装它 但仍然显示相同的内容 为什么会发生这种情况
  • 当当前分支上有未提交的更改时签出另一个分支

    大多数时候 当我尝试签出另一个现有分支时 如果我在当前分支上有一些未提交的更改 Git 会不允许我这样做 所以我必须首先提交或隐藏这些更改 然而 有时 Git 确实允许我在不提交或存储这些更改的情况下签出另一个分支 并且它会将这些更改携带到
  • Git 2.2.x 无缘无故更新旧包文件的时间戳

    Git 2 2 0 和 2 2 1 似乎修改了旧的时间戳 git objects pack pack pack偶尔会无缘无故地文件 它只是改变时间戳 内容是相同的 调试这一点很困难 因为它似乎很少进行更改 我在 2 2 0 之前的任何 Gi
  • Git 在哪里存储标签?

    Git 在哪里存储标签 我执行 git tag v0 1 0 v0 10 0 v0 11 0 但目录 git refs tags是空的 Git 将这些标签存储在哪里 谢谢 它们也可以存储在 git packed refs
  • 如何让 Aptana Studio 记住 git ssh 密码

    我找不到任何有关如何获得 Aptana Studio 的内置 git 支持来记住执行推 拉操作的 ssh 密码的指南 信息 有人有什么想法吗 Aptana Studio 实际上是内置的 GIT 程序 它将在 Windows 上的 C Use
  • 无法通过 Git Bash 克隆 git 存储库

    在尝试使用克隆存储库时git clone 它显示以下错误 致命 无法访问 https github com microsoft c9 python getting started git https github com microsoft
  • 在 Windows 上查找父进程 ID

    Problem 给定远程 Windows 主机上的进程 ID 和命令行访问权限 如何找到其父进程的 PID Solution 鉴于 Marc B 的回答 我们可以使用 WMIC 命令示例here https learn microsoft
  • 用于推送通知的设备令牌

    我正在实施推送通知服务 我需要创建一个数据库来存储 4 个移动平台的所有设备令牌 我想根据他们的平台 iOS Android BlackBerry WP7 来组织它们 但是有什么方法可以区分平台 这样如果我只想向 Android 用户发送消
  • 如何以管理员身份在 rake 任务中运行 shell 命令?

    我有一个简短的 cmd 文件 我想将其作为部署过程的一部分运行 不幸的是 cmd 文件需要管理员权限 是否可以从 rake 中获得管理员权限 或者我是否需要以管理员身份启动 shell 您可以尝试runas http ss64 com nt

随机推荐

  • 第四步:STM32F4 GPIO介绍

    1 0 STM32F407ZGT6引脚说明 STM32F407ZGT6 一共有7组IO口 每组IO口有16个IO 一共16X7 112个IO 外加2个PH0和PH1 一共114个IO口 GPIOA GPIOB GPIOG PH0 PH1 1
  • mac电脑安装Android studio

    1 安装Android studio 在官网下载安装包https developer android google cn studio 下载时需要根据mac电脑的处理器选择不同版本 在关于本机中查看一下处理器类型就行 然后点击dmg安装包进
  • 鸿蒙应用开发:安装DevEco Studio及环境配置

    一 安装DevEco Studio 1 找到官网下载开发工具 DevEco Studio官网 2 解压下载好的压缩包 3 关闭杀毒软件并以管理员身份运行 4 在如下界面勾选DevEco Studio 直到安装完成 二 下载HarmonyOS
  • 8种日志级别

    优先级从高到低依次为 OFF FATAL ERROR WARN INFO DEBUG TRACE ALL ALL 最低等级的 用于打开所有日志记录 TRACE 很低的日志级别 一般不会使用 DEBUG 指出细粒度信息事件对调试应用程序是非常
  • docker容器的网络信息查看

    2019独角兽企业重金招聘Python工程师标准 gt gt gt 查看容器的IP地址 可以在主机上运行 sudo docker ps 查看正在运行的容器的id等信息 sudo docker inspect 容器id 查看到容器的相关信息
  • win2003 DNS服务器配置方法[图文详解]

    目前很多企业事业单位都建立了单位内部的局域网 网络内部都配备相关的服务器 如web ftp等服务器 内部网络的用户都希望所有的服务器都用域名来访问 网络管理员可以采用在内部搭建DNS服务器的方式来实现 width 680 height 20
  • 蓝牙BLE---DA14585的外部中断使用

    DA14585的标准SDK中并没有找到GPIO外部中断的使用例程 但是外部中断并不难配置 看看GPIO C和GPIO H这两个文件就知道怎么做了 下面三行代码是初始化设置 void gpio init GPIO SetPinFunction
  • 基于SpringBoot的电子招标投标管理系统

    末尾获取源码 开发语言 Java Java开发工具 JDK1 8 后端框架 SpringBoot 前端 HTML Vue 数据库 MySQL5 7 数据库管理工具 Navicat 12 服务器 Tomcat8 5 开发软件 IDEA Ecl
  • 京东首页实战(带商品栏)

    效果展示 在这里插入图片描述 https img blog csdnimg cn cdb0bf89b2b9415f814 项目结构 需要联系 224 855 7717
  • MySQL进阶面试题完全攻略

    除了基础题部分 本文还收集整理的MySQL面试题还包括如下知识点或题型 MySQL高性能索引 SQL语句 MySQL查询优化 MySQL高扩展高可用 MySQL安全性 问题1 char varchar的区别是什么 varchar是变长而ch
  • 雪过天晴:OTA熬过旅游业寒冬

    旅游业新年开门红的热闹余音犹在 OTA平台走入三年来最具总结意义的一个财报季 继携程 途牛后 同程旅行于3月21日公布了2022年全年财报 数据显示 2022年 同程旅行实现收入65 8亿元 经调整净利润6 5亿元 其中每个季度都保持了盈利
  • 再造STM32---第十九部分:I2C—读写 EEPROM

    本章参考资料 STM32F4xx 参考手册 STM32F4xx 规格书 库帮助文档 stm32f4xx dsp stdperiph lib um chm 及 I2C 总线协议 若对 I2C 通讯协议不了解 可先阅读 I2C 总线协议 文档的
  • stm32学习笔记-esp8266wifi模块连接云平台测试

    文章目录 一 ATK ESP8266模块简介 二 测试AT指令连接新大陆物联网云平台 一 ATK ESP8266模块简介 官方使用手册截图如下 我们知道这个wifi模块有三种模式 其串口通信波特率为115200 数据位为8 停止位为1 测试
  • 史上最全圣杯布局(转自前端神三元)

    圣杯布局如图 而且要做到左右宽度固定 中间宽度自适应 1 利用flex布局
  • 使用SSIS创建同步数据库数据任务

    SSIS SQL Server Integration Services 是用于生成企业级数据集成和数据转换解决方案的平台 使用 Integration Services 可解决复杂的业务问题 具体表现为 复制或下载文件 发送电子邮件以响应
  • 利用keil编写stm32循环点亮一LED灯

    利用keil编写stm32循环点亮一LED灯 在调试循环点亮一LED灯程序时 发现单步执行 能循环点亮 但连续执行时 不能循环点亮 后来发现 是我写的程序出了问题 应该在管脚置高和置低后均进行延时 程序如下 void LED Display
  • esp8266 eeprom_ESP8266内嵌网页配置WIFI及指令调试

    准备 1 智能网络模块 WIFI模块ESP8266 12S 12F 见底图2 Arduino IDE 最新版 1 8 13 目的 1 通过固件访问内置网页可以进行重置WIFI密码 见底图 2 通过固件内嵌网页可以进行指令测试 通过网页模拟串
  • Excel VBA 变量,数据类型&常量

    几乎所有计算机程序中都使用变量 VBA 也不例外 在过程开始时声明变量是一个好习惯 这不是必需的 但有助于识别内容的性质 文本 数据 数字等 在本教程中 您将学习 一 VBA变量 变量是存储在计算机内存或存储系统中的特定值 以后 您可以在代
  • 树的遍历(先序、中序、后序详解)

    树的遍历主要有三种 1 先序遍历 先遍历根节点 再遍历左节点 最后遍历右节点 2 中序遍历 先遍历左节点 再遍历根节点 最后遍历右节点 3 后序遍历 先遍历左节点 再遍历右节点 最后遍历根节点 总结 先 中 后就表示根节点的遍历处于哪个位置
  • Java开发环境搭建(进阶配置五 ——版本控制工具之GIT)

    与CVS SVN等集中式版本控制工具不同 Git是分布式版本控制工具 开发人员通过Checkout从中心版本库Copy一个完整的版本库到本地 就算不联网也可以进行commit update等操作 而且每次操作都是在本地进行 因而速度非常快