ICode9

精准搜索请尝试: 精确搜索
首页 > 其他分享> 文章详细

Git操作指南

2021-11-06 20:32:25  阅读:155  来源: 互联网

标签:指南 文件 Git 本地 版本控制 版本 git 操作


Git的使用

git十分简单!

学习git之前,我们要明白一个概念——版本控制

版本控制Reversion control

什么是版本控制 版本迭代,新的版本!版本管理

版本控制(Reversion control)是一种在开发的过程中用于管理我们对文件、目录或工程等内容的修改历史,方便查看更改历史记录,备份以便恢复以前的版本的软件工程技术。

  • 实现跨区域多人协同开发

  • 追踪和记载一个或者多个文件的历史记录

  • 组织和保护你的源代码和文档

  • 统计工作量

  • 并行开发,提高开发效率

  • 跟踪记录整个软件的开发过程

  • 减轻开发人员的负担,节省时间,同时减低人为错误

    简单说就是用于管理多人协同开发项目的技术

没有进行版本控制或者控制本身缺乏正确的流程管理,在软件开发过程中将会引入很多问题,比如软件代码的一致性,软件内容的冗余,软件过程的事务性,软件开发过程中的并发性,软件源代码的安全性,以及软件的整合等问题。

我们迫切需要一个版本控制工具。

 

因此多人开发必须使用版本控制,反则代价很大!

常见的版本控制工具

我们学习的东西一定是当下最流行的!

  • Git

  • SVN

  • CVS

  • VSS

  • TFS

  • Visual Studio Online

版本控制分类

1.本地版本控制

记录文件每次更新,可以对每个版本做一个快照,或是记录补丁文件,适合个人用,如RCS。

 

2.集中版本控制 SVN

所有版本数据都保存在服务器上,协同开发者从服务器上同步更新或上传自己的修改。

 

所有的版本数据都存在服务器上,用户的本地只有自己以前所同步的版本,如果不连网的话,用户就看不到历史版本,也无法切换版本验证问题,或在不同分支工作。而且,所有数据都保存在单一的服务器上,有很大风险这个服务器会损坏,这样就会丢失所有的数据,当然可以定期备份。代表产品:SVN/CVS/VSS.

3.分布式版本控制Git

每个人都拥有全部的代码! 安全隐患

所有版本信息仓库全部同步到本地的每个用户,这样就可以在本地查看所有版本历史,可以离线在本地提交,只需连网时push到相应的服务器或其他用户那里。由于每个用户那里保存的都是所有的版本数据,只要有一个用户的设备没有问题,就可以恢复所有的数据,但这增加了本地存储空间的占用。

不会因为服务器损坏或者网络问题,造成不能工作的情况!

 

Git与SVN最主要区别

SVN集中版本控制,员工联网上传公司的服务器。

Git是分布式版本控制系统,每个员工都有公司完整的服务器所有代码,而且可以不联网本地编译,如果要上传,只需可怜网上传即可。

Git协同的方法:比如自己电脑修改了文件A,另一个同事也修改了文件A,这时你把修改联网推送给对方,就可以互相看对方的修改了。Git可以直接看到更新了哪些代码和文件。

Git历史

 

Git的下载

去阿里镜像下载

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

下载对应的版本即可安装,无脑下一步即可。

 

启动Git

安装成功后开始菜单会有Git项,菜单下有3个程序:任意文件夹下右键也可以看到对应的程序。

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

Git CMD : Windows风格的命令行

Git Gui : 图形界面的Git,不建议初学者使用,尽量先熟悉常用命令。

 

点Git Bash进入Linux命令。

1.Git Bash基本的Linux命令学习

  • cd :改变目录,比如我想进git的目录地址 cd /d/code/git这样回车就能进去了

  • cd .. 回退到上一个目录

  • pwd 显示当前所在的目录路径

  • ls(ll)都是列出当前目录中的所有文件,只不过ll列出的内容更详细

  • clear 清屏

  • rm+文件名 删除一个文件

  • mkdir 新建一个文件夹

  • rm -r +文件夹名 删除一个文件夹

  • history 查看操作历史

  • help 帮助

  • exit 退出

  • rest 重新初始化

 

Git的卸载

先卸载

直接反安装即可,我的电脑-高级设置-环境变量-删除Git的环境变量-打开控制面板直接卸载(or 360卸载)

Git环境配置

git配置

所有配置文件其实都保存在本地

查看配置 git config -l

设置用户名与邮箱(用户表示,必要)

当你安装Git后首先要做的事情是设置里的用户名称和e-mail地址。这很重要,因为Git每次提交都会使用该信息。他被永远的嵌入到了你的提交中。

git config --global user.name "熊乾坤"
​
git config --global user.email 1355818157@qq.com

Git基本理论(核心)

  • 所有的时间都需要源于这个理论

工作区域

Git本地有三个工作区域:工作目录(Working Directory)、暂存区(stage/index)、资源库(Repository)或Git Directory,如果在加上远程的git仓库(Remote Directory)就可以分为四个工作区域。文件哎这四个区域之间的转换关系如下。

 

  • Workspace:工作区,就是你平时存放项目代码的地方

  • Index/Stage:暂存区,用于临时存放你的改动,事实上它只是一个文件,保存即将提交到文件列表信息。

  • Repository:仓库去(或本地仓库),就是安全存放数据的位置,这里面有你提交到所有版本的数据。其中HEAD指向最新存入仓库的版本。

  • Remote:远程仓库,托管代码的服务器,可以简单的认为是你项目中组合的一台电脑用于远程数据交换。//gitee码云

工作流程

Git工作流程一般是这样的:

1.在工作目录中添加、修改文件

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

3.将暂存区域的文件提交到git仓库

因此,git管理的文件有三种状态;已修改(modified),已暂存(Staged),已提交(committed)

Git项目搭建

创建工作目录与常见指令

 

本地仓库搭建

1.创建本地仓库的方式有两种:

一是创建全新的仓库

#在当前目录新建一个Git代码库(git bash ,用linux语句操作)
​
git init

另一种是克隆远程仓库

git clone + gitee的克隆地址

这样就能完成开源网站下,把东西下载自己的文件夹下面。

查看文件状态

文件有四种状态。

  • Untracked:未跟踪。此文件在此文件夹中,并未在git库,不参与版本控制。可以通过 git add . 状态变为Staged。

  • Unmodify:文件已经入库,即版本库中的文件快照内容与文件夹中一致。这种类型的文件有两种去处,如果他被修改,而改编为Modified。如果使用 git rm 移除版本库,则便为Untracked文件。

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

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

有如下命令

#查看指定文件状态
​
git status [filename]
​
#查看所有文件状态
​
git status
​
#添加所有文件到暂存区
​
git add . 
​
#提交暂存区中的内容到本地仓库 -m "提交信息"
​
git commit -m  "消息内容"

2.忽略文件

有时候我们不想把某些文件纳入版本控制中,比如数据库文件,临时文件,设计文件等。

在主目录下简历 ".gitignore"文件,此文件有如下规则。

  1. 忽略文件中的空行和或以井号(#)开始的行将会被忽略

  2. 可以使用Linux通配符,例如星号(*)代表任意多个字符,问号(?)代表一个字符等等

  3. 如果名称最前面有一个感叹号(!)表示例外规则,将不被忽略

  4. 如果名称的最前面是一个路径分隔符(/),表示要忽略的文件在此目录下,而子目录中的文件不忽略。

  5. 如果名称的最后面是一个路径分隔符(/),表示要忽略的是此目录下该名称的子目录,而非文件(默认文件或目录都忽略)

#为注释
​
.txt                #忽略所有 .txt结尾的文件,这样的话上传就不会被选中!
​
!lib.txt            #但是lib.txt除外
​
/temp           #仅忽略项目根目录下的TODO文件,不包括其他目录temp
​
build/          #会忽略build/目录下的所有文件
​
doc/*.txt       #会忽略doc/notes.txt,但不包括 doc/server/arch.txt

使用码云Gitee

github是有墙的,比较慢,国内的话,我们一般使用gitee。公司中有时候会搭建自己的git服务

可以作为未来找工作的重要信息。

设置本机绑定SSH公钥,实现免密码登录!(免密码登录,这一步很重要,码云是远程仓库,我们平时工作在本地仓库)

#进入 C:\Users\ Adiministrator\ .ssh 目录

#生成公钥

 

 

 

 

再复制自己仓库的地址,进入Git bush 输入 git clone克隆到本地

 

使用IDEA集成Git

 

  1. 新建项目,绑定Git

    将我们远程的git文件目录拷贝到项目(经典复制粘贴

  2. 修改文件,使用IDEA操作git

  3. 提交测试

 

 

 

标签:指南,文件,Git,本地,版本控制,版本,git,操作
来源: https://blog.csdn.net/Java_Master_xqk/article/details/121184479

本站声明: 1. iCode9 技术分享网(下文简称本站)提供的所有内容,仅供技术学习、探讨和分享;
2. 关于本站的所有留言、评论、转载及引用,纯属内容发起人的个人观点,与本站观点和立场无关;
3. 关于本站的所有言论和文字,纯属内容发起人的个人观点,与本站观点和立场无关;
4. 本站文章均是网友提供,不完全保证技术分享内容的完整性、准确性、时效性、风险性和版权归属;如您发现该文章侵犯了您的权益,可联系我们第一时间进行删除;
5. 本站为非盈利性的个人网站,所有内容不会用来进行牟利,也不会利用任何形式的广告来间接获益,纯粹是为了广大技术爱好者提供技术内容和技术思想的分享性交流网站。

专注分享技术,共同学习,共同进步。侵权联系[81616952@qq.com]

Copyright (C)ICode9.com, All Rights Reserved.

ICode9版权所有