git零基础快速入门实战,重点讲解,在实际生产中整合idea对版本、分支的管理等
1.什么是版本管理
(多人协作)项目中常见的问题:
- 代码放在什么地方 ??
- 同步(到服务器),代码的冲突问题 ??
- 服务器访问权限问题 ??
- (代码)服务器内容修改的细节 ??
- 项目版本的发布 ??
版本控制是指对软件开发过程中各种程序代码、配置文件及说明文档等文件变更的管理,是软件配置管理的核心思想之一。
1.什么是git
Git(读音为/gɪt/。)是一个开源的分布式版本控制系统,可以有效、高速地处理从很小到非常大的项目版本管理,git是 Linus Torvalds 为了帮助管理 Linux 内核开发而开发的一个开放源码的版本控制软件。
版本管理器,管理代码的。
1.1git工作流程
常规工作流程如下:
- 克隆 Git 资源作为工作目录。
- 在克隆的资源上添加或修改文件。
- 如果其他人修改了,你可以更新资源。
- 在提交前查看修改。
- 提交修改。
- 在修改完成后,如果发现错误,可以撤回提交并再次修改并提交。
工作流程示意图:
1.2.git操作流程图
2.git注册
注册地址:https://github.com/
我们点击右上角的sign up (注册的意思),然后会跳到注册页面。
step1:
第一步是填写注册的名字(name),
第二行是填注册的邮箱(email),
第三步是填写密码(password),
填写完后点击create account
step 2是选择计划(choose your plan),这里有两种选择,
一是创建公开仓库(repository),二是创建个人仓库(private),但创建个人需要费用,因此,我们选择第一种。
这里我们还可以创建(Organizations)。选好后,点击continue。
到此,我们就创建完了。
3.git客户端安装与使用
3.1.Git-2.20.1-64-bit.exe安装与简单使用】
安装完,几乎全是默认下一步!
3.2.Git命令简单使用
1.用户信息配置
配置个人的用户名称和电子邮件地址:
$ git config --global user.name "wfd360"
$ git config --global user.email 851298348@qq.com
如果用了 --global 选项,那么更改的配置文件就是位于你用户主目录下的那个,以后你所有的项目都会默认使用这里配置的用户信息。
如果要在某个特定的项目中使用其他名字或者电邮,只要去掉 --global 选项重新配置即可,新的设定保存在当前项目的 .git/config 文件里。
2.查看配置信息
要检查已有的配置信息,可以使用 git config --list 命令:
3.git创建仓库
执行命令:git init myWork,在当前目录下创建一个名为myWork的仓库.
初始化后,会在 myWork目录下会出现一个名为 .git 的目录,所有 Git 需要的数据和资源都存放在这个目录中。
如果当前目录下有几个文件想要纳入版本控制,需要先用 git add 命令告诉 Git 开始对这些文件进行跟踪,然后提交,
创建好的文件夹如图:
现在我们演示在,myWork中创建一个a1.txt文件,然后在提交到版本库里面,命令如下
git add a1.txt
git commit -m '提交a1.txt'
4.从远程仓库拉取代码
我们使用 git clone 从现有的远程 Git 仓库中拉取代码
语法: git clone 远程地址
案例:git clone https://github.com/bangbangw/testGit.git
git的一些常规简单命令就介绍到这里,如果需要了解更多,可以查看官方文档:git完整命令手册:https://git-scm.com/docs
弄了一堆命令,是不是感觉git咋个这么麻烦..........no...no....
更更重要的是,我们作为程序员,其实完全没必要掌握这么一大堆命令,毕竟git作为一个程序开发的辅助工具,只要我们能用,不妨碍工作,怎么简单就怎么来,
这就是我们在平时开发中经常使用的强大工具小乌龟客户端:TortoiseGit......
3.2.TortoiseGit-2.7.0.0-64bit.msi安装与使用
tortoiseGit下载地址:https://download.tortoisegit.org/tgit/
下载完成后,同普通常规的软件安装方式一样,只需傻瓜式的直接下一步就可以了.
1.检查是否安装成功,右键鼠标,如果出现如下图标,则安装成功
2.检查受版本控制的文件是否有颜色标志,以刚才的建立的myWork仓库为例
3.解决没有颜色图标
TortoiseGit显示图标不正常
Windows Explorer Shell支持的Overlay Icon最多15个,除去系统使用,只有11个。如果其他程序占用了,那么小乌龟就无法显示了。注册表定位到:
Win+R-->regedit-->注册表:
HKEY_LOCAL_MACHINE\SOFTWARE\Microsoft\Windows\CurrentVersion\Explorer\ShellIconOverlayIdentifiers。修改Tortoise项的名称(比如在名称前加0,会按照数字优先,将TortoiseGit相关的排在前面),让他们排到前面然后重启资源管理器就能正常显示了。
4.各图标颜色的含义
正常的文件夹或文件
被修改过的文件夹或文件
新添加的文件夹或文件
未受控的文件夹或文件
忽略不受控的文件夹或文件
删除的文件夹或文件
有冲突的文件夹或文件
5.简单使用
1.拉取代码
远程仓库地址:https://github.com/bangbangw/testGit.git
拉取下到本地的文件如图
2.我模拟在testGit下进行工作,完成一个基本流程
创建文件 a.txt ----->提交----->修改------>提交----->查看远程服务器文件是否存在
1.创建文件 a.txt
2.使用小乌龟提交
在当前工作目录下,鼠标右键,如下图
选择ok
这时候已纳入版本管理,然后在点击commit,提交到本地仓库
填写提交的备注信息等...,然后点击commit
点击push,将本地仓库更新到远程仓库
点击ok
输入远程仓库用户名
输入远程仓库密码
推送到远程仓库成功
查看远程仓库是否有文件
到此,一个从本地创建文件到推送的远程仓库的流程完成.
推送完成后本地文件图标如图
接下来演示,修改a.txt,然后在推送到远程仓库.
修改a.txt文件内容后,图标变化如图
然后在鼠标右键,按照如下选择
填写提交备注,然后点击commit,接下来的流程与刚才一样,根据提示对话框提示一步步往下走即可...
到此TortoiseGit的常规用法就介绍到这里.
4.idea git 整合使用
具体步骤详见:https://www.cnblogs.com/newAndHui/p/10594956.html
5.git分支、合并与使用
具体步骤详见:https://www.cnblogs.com/newAndHui/p/10846276.html
6.idea中git标签(tag)的创建与使用
具体步骤详见:https://www.cnblogs.com/newAndHui/p/10846954.html
完美!
git零基础快速入门实战,重点讲解,在实际生产中整合idea对版本、分支的管理等的更多相关文章
- 【课件】git零基础快速入门实战--重点讲解,在实际生产中整合idea对版本、分支的管理等
1.git简单描述 git是重要的版本管理工具,几乎每个码农都有自己的git账号管理自己的代码,同时很多公司也是用git管理公司的代码, 因此掌握git在实际生产中的常规使用非常重要. 2.git学习 ...
- git内容补充-Git零基础快速入门-苏玲
https://git-scm.com/book/zh/v2 git历史 集中式版本控制管理:cvs.svn 分布式版本控制管理:git 基本命令 git config --list --global ...
- 小D课堂 - 零基础入门SpringBoot2.X到实战_第1节零基础快速入门SpringBoot2.0_1、SpringBoot2.x课程介绍和高手系列知识点
1 ======================1.零基础快速入门SpringBoot2.0 5节课 =========================== 1.SpringBoot2.x课程全套介绍 ...
- [易学易懂系列|rustlang语言|零基础|快速入门|(28)|实战5:实现BTC价格转换工具]
[易学易懂系列|rustlang语言|零基础|快速入门|(28)|实战5:实现BTC价格转换工具] 项目实战 实战5:实现BTC价格转换工具 今天我们来开发一个简单的BTC实时价格转换工具. 我们首先 ...
- [易学易懂系列|rustlang语言|零基础|快速入门|(27)|实战4:从零实现BTC区块链]
[易学易懂系列|rustlang语言|零基础|快速入门|(27)|实战4:从零实现BTC区块链] 项目实战 实战4:从零实现BTC区块链 我们今天来开发我们的BTC区块链系统. 简单来说,从数据结构的 ...
- [易学易懂系列|rustlang语言|零基础|快速入门|(26)|实战3:Http服务器(多线程版本)]
[易学易懂系列|rustlang语言|零基础|快速入门|(26)|实战3:Http服务器(多线程版本)] 项目实战 实战3:Http服务器 我们今天来进一步开发我们的Http服务器,用多线程实现. 我 ...
- [易学易懂系列|rustlang语言|零基础|快速入门|(25)|实战2:命令行工具minigrep(2)]
[易学易懂系列|rustlang语言|零基础|快速入门|(25)|实战2:命令行工具minigrep(2)] 项目实战 实战2:命令行工具minigrep 我们继续开发我们的minigrep. 我们现 ...
- [易学易懂系列|rustlang语言|零基础|快速入门|(24)|实战2:命令行工具minigrep(1)]
[易学易懂系列|rustlang语言|零基础|快速入门|(24)|实战2:命令行工具minigrep(1)] 项目实战 实战2:命令行工具minigrep 有了昨天的基础,我们今天来开始另一个稍微有点 ...
- [易学易懂系列|rustlang语言|零基础|快速入门|(23)|实战1:猜数字游戏]
[易学易懂系列|rustlang语言|零基础|快速入门|(23)|实战1:猜数字游戏] 项目实战 实战1:猜数字游戏 我们今天来来开始简单的项目实战. 第一个简单项目是猜数字游戏. 简单来说,系统给了 ...
随机推荐
- Winform中实现ZedGraph滚轮缩放后自动重新加载数据
场景 Winforn中设置ZedGraph曲线图的属性.坐标轴属性.刻度属性: https://blog.csdn.net/BADAO_LIUMANG_QIZHI/article/details/10 ...
- Vue组件通信的几种方法
上一节说到,vue.js是允许子组件通过props接受父组件的信息,但是不允许父组件通过props接受子组件的信息 1. $emit()和on 当子组件需要向父组件传递数据时,就要用到自定义事件. 使 ...
- CentOS7 忘记Root密码解决方法
1- 在启动grub菜单,选择编辑选项启动 2 - 按键盘e键,来进入编辑界面 3 - 找到Linux 16的那一行,将ro改为rw init=/sysroot/bin/sh 4 - 现在 ...
- 第6次作业--static关键字、对象
题目1:编写一个类Computer,类中含有一个求n的阶乘的方法.将该类打包,并在另一包中的Java文件App.java中引入包,在主类中定义Computer类的对象,调用求n的阶乘的方法(n值由参数 ...
- 大数据量数据库设计与优化方案(SQL优化)
转自:http://blog.sina.com.cn/s/blog_6c0541d50102wxen.html 一.数据库结构的设计 如果不能设计一个合理的数据库模型,不仅会增加客户端和服务器段程序的 ...
- AcWing 46. 二叉搜索树的后序遍历序列
地址 https://www.acwing.com/solution/acwing/content/3959/ 题目描述输入一个整数数组,判断该数组是不是某二叉搜索树的后序遍历的结果. 如果是则返回t ...
- C++并发编程实战
第1章 你好,C++并发世界 第2章 管理线程 第3章 在线程间数据共享 第4章 同步并发操作 第5章 C++内存模型和原子类型操作 第6章 设计基于锁的并发数据结构 第7章 设计无锁的并发数据结构 ...
- Tomcat中session复制技术
一.准备三台机器主机的服务都正常,nginx与Tomcat构建负载均衡 主机名 IP地址 nginx 192.168.200.111 Tomcat1 192.168.200.11 ...
- 分治 FFT
为啥要叫分治\(fft\)啊,又用不到\(fft--\) 给定长度为\(n-1\)的数组\(g[1],g[2],--,g[n-1]\),求\(f[1],f[2],--,f[n]\),其中 \[f[i] ...
- Ant默认配置文件不是build.xml该如何编写命令进行编译打包
Ant的构件文件是基于XML编写的,默认名称为build.xml. ant命令默认寻找build.xml文件.若文件名为hello.xml时,读者还需要对命令做少许改变, 改为:ant –f hell ...