git的简介与基本使用远程仓库gitee的创建

目录

1. git简介

1.1 git是什么

​编辑

1.2 git与svn的区别

2.gitee

2.1gitee创建仓库

2.2 删除仓库

3. git的基本操作

3.1 配置账户及邮箱

1)查看git的配置信息

2)设置用户名及邮箱

3)删除某个全局配置项

3.2 git文件状态与工作区域

3.3 常用命令

3.4 创建一个git仓库 -或-克隆(clone)

3.5 查看git仓库的状态

3.6 新创建的文件并添加到“暂存区”

3.8“暂存区”的内容提交到“本地仓库”

3.9“本地仓库”的内容提交到“远程仓库”

3.10 将本地项目推入远程仓库。

3.11 冲突的问题


1. git简介

1.1 git是什么

是一个开源的分布式版本控制系统,可以有效、高速地处理从很小到非常大的项目版本管理。

git的安装非常简单:可自行去找一下安装教程 

 下载 git 官网 Git (git-scm.com)

1.2 git与svn的区别

1) git是分布式的 GIT是分布式的,SVN不是:这是GIT和其它非分布式的版本控制系统,例如SVN,CVS等,最核心的区别 2)git仓库的任何一个拷贝都可以独立作为一个服务器来使用,因为git是分布式的,在远程仓库和本地仓库中都有完整拷贝。 3)在Git中文件有四种状态: 未跟踪(untrack):表示文件为新增加的 已修改(modified):表示修改了文件,但还没保存到git仓库中。 已暂存(staged):表示对一个已修改文件的当前版本做了标记,使之包含在下次提交的快照中 已提交(committed):表示文件已保存在git仓库中。 4) 其它 GIT没有一个全局的版本号,而SVN有:目前为止这是跟SVN相比GIT缺少的最大的一个特征。 GIT的内容完整性要优于SVN:GIT的内容存储使用的是SHA-1哈希算法。这能确保代码内容的完整性,确保在遇到磁盘故障和网络问题时降低对版本库的破坏 5) 直接记录快照,而非差异 GIT把内容按元数据方式存储,而SVN是按文件:所有的资源控制系统都是把文件的元信息隐藏在一个类似.svn,.cvs等的文件夹里。 6) 直接记录快照,而非差异 GIT分支和SVN的分支不同,分支在SVN中一点不特别,就是版本库中的另外的一个目录。

前三个不同点重点理解,后面几个一般性了解

2.gitee

Gitee是开源中国(OSChina)推出的基于Git的代码托管服务

Gitee(码云)是开源中国社区推出的代码托管协作开发平台,支持Git和SVN,提供免费的私有仓库托管。Gitee专为开发者提供稳定、高效、安全的云端软件开发协作平台,无论是个人、团队、或是企业,都能够实现代码托管、项目管理、协作开发。

码云Gitee是开源中国社区在2013年推出的基于Git的代码托管服务,专为开发者提供稳定、高效、安全的云端软件开发协作平台,无论是个人、团队、或是企业,都能够用 Gitee 实现代码托管、项目管理、协作开发,更有代码质量分析、项目演示等丰富功能等你体验。

Gitee目前已经成为国内最大的代码托管平台,致力于为国内开发者提供优质稳定的托管服务,与GitHub类似区别在于码云国内,GitHub国外。

目前已有超过 500 万的开发者选择码云。Gitee 于 2016 年推出企业版,提供企业级代码托管服务,成为开发领域领先的 SaaS 服务提供商。

Git介绍

Git --- The stupid content tracker, 傻瓜内容跟踪器。Linus Torvalds 是这样给我们介绍 Git 的。

Git 是用于 Linux内核开发的版本控制工具。与常用的版本控制工具 CVS, Subversion 等不同,它采用了分布式版本库的方式,不必服务器端软件支持(wingeddevil注:这得分是用什么样的服务端,使用http协议或者git协议等不太一样。并且在push和pull的时候和服务器端还是有交互的。),使源代码的发布和交流极其方便。 Git 的速度很快,这对于诸如 Linux kernel 这样的大项目来说自然很重要。 Git 最为出色的是它的合并跟踪(merge tracing)能力。

实际上内核开发团队决定开始开发和使用 Git 来作为内核开发的版本控制系统的时候,世界开源社群的反对声音不少,最大的理由是 Git 太艰涩难懂,从 Git 的内部工作机制来说,的确是这样。但是随着开发的深入,Git 的正常使用都由一些友好的脚本命令来执行,使 Git 变得非常好用,即使是用来管理我们自己的开发项目,Git 都是一个友好,有力的工具。现在,越来越多的著名项目采用 Git 来管理项目开发.

作为开源自由原教旨主义项目,Git 没有对版本库的浏览和修改做任何的权限限制。

2.1gitee创建仓库

地址:Gitee - 基于 Git 的代码托管和研发协作平台

先注册gitee账号

登录后可以看见效果

点击创建后

创建好后

2.2 删除仓库

3. git的基本操作

3.1 配置账户及邮箱

一般刚安装Git都要配置用户名和邮箱,因为你提交代码到本地仓库(上传代码到远程仓库)时会用到。如果没有没有配置,在你提交时它会提醒,如果仅仅是下载公有仓库则不需要,甚至不需要注册。

成功安装git后,在任何目录点击右键,选择“git bash here”即可进入git的命令窗口:

在那个目录打开 那么拉取或者克隆项目也会到此目录下

打开命令窗口

1)查看git的配置信息

git config --list

2)设置用户名及邮箱

gitee创建好后 如果没有任何文件的条件下 会有设置 教程设置一下即可 name 与邮箱都可以自行更改

git config --global user.name "username"
git config --global user.email "email"
# 为安全,一般不在配置信息中设置密码
git config --global user.password "password"

注: 全局配置: --global 表示全局的,即当前用户都有效,该配置会出现在 ~/.gitconfig 文件中,~表示当前用户的目录, 比如:C:\Users\Administrator.gitconfig,打开该文件你会发现如下图所示的内容: [user] name = xxx email = [email protected] 局部配置 git config user.name "username" git config user.email "email" 局部是只对当前仓库起效的,它的配置信息会在当前仓库根目录/.git/config文件下。注意:局部变量覆盖全局变量

3)删除某个全局配置项

git config --global --unset user.name

3.2 git文件状态与工作区域

git的文件状态是其git核心内容,了解后对后续的操作有莫大的帮助,不同的文件状态又存储在不同的工作区域中.

  1. git中的文件有以下几种状态

  • 未跟踪(untrack):表示文件为新增加的

  • 已暂存(staged):表示对一个已修改文件的当前版本做了标记,使之包含在下次提交的快照中

  • 已提交(committed):表示文件已保存在git仓库中。

  • 已修改(modified):表示修改了文件,但还没保存到git仓库中。

  1. 工作区域 按照本地计算机与远程计算机划分,工作区域有以下几种

  • 本地计算机 Working Directory(工作目录):即正在编辑的文件状态。文件状态为未跟踪(untrack)和已修改(modified)在此区域内。 Staging Area(暂存区):保存了下次将提交的文件列表信息。文件状态为已暂存(staged)在此区域内。可以使用 git ls-files 查看暂存区的内容。 Repository(本地仓库):提交到本地仓库的文件。

  • 远程计算机 Repository(远程仓库):已提交到远程计算机内的文件。

理解下图的示意图:

3.3 常用命令

命令 作用
git init 初始化仓库
git clone 将远程仓库clone到本地计算机
git status 展示工作区及暂存区域中不同状态的文件
git add 将内容从工作目录添加到暂存区
git commit 所有通过 git add 暂存的文件提交到本地仓库
git reset HEAD <file> 从暂存区移除指定文件
git checkout -- <file> 从本地仓库恢复指定文件
git pull 拉取远程仓库的数据
git push 上传代码及快速合并
git remote 查看远程版本库信息

3.4 创建一个git仓库 -或-克隆(clone)

1.创建仓库

git init     初始化仓库

运行后会得到一个隐藏文件 .git 需要手动打开文件管理器的 查看隐藏文件功能

2.克隆仓库

远程仓库地址

2)到本地目录(你所要放置项目的目录),右击鼠标,选择“git bash here”进入git命令行。

git clone https://gitee.com/heizifeng/dome-test.git

如图:

注:本例演示了通过https协议克隆,除了https协议git还支持如下协议:

git clone [email protected]:fsliurujie/test.git --SSH协议

git clone git://github.com/fsliurujie/test.git --GIT协议

与其他版本控制软件,如svn相比,这里使用的克隆(clone),而不是检出(checkout),git 收取的是项目历史的所有数据(每一个文件的每一个版本),服务器上有的数据克隆之后本地也都有了。实际上,即便服务器的磁盘发生故障,用任何一个克隆出来的客户端都可以重建服务器上的仓库,回到当初克隆时的状态

3.5 查看git仓库的状态

要先来到对应项目的目录。

git status

3.6 新创建的文件并添加到“暂存区”

在git管理的目录(如上例中的hello-word目录),新建一个文件 可以使用如下命令查看状态:

git status

注:红色表示没有加入暂存区。

将文件放入“暂存区”

$ git add .

注: 后面的那个“.” 所示将所有新增的文件都放入暂存区。 如果不需要所有 可以指定 ba '.' 改为需要放入缓冲区的文件名

查看git状态

3.8“暂存区”的内容提交到“本地仓库”

git commit -m '注释' 必须需要注解 提交

3.9“本地仓库”的内容提交到“远程仓库”

语法: git push <远程主机名> <本地分支名> <远程分支名>

示例:

git push origin master

注: 如果省略远程分支名,则推入与本地分支同名的远程分支 远程分支一般默认的名称为 origin,但不是必须的。

设置默认提交分支  git push -u origin master
无需默认指定 git push origin master

注:如果带有-u参数,则指定了默认的远程主机, 这样以后再推入时,可以简写为:git push。不带任何参数的git push,默认只推送当前分支,这叫做simple方式。

然后就可以去看看远程仓库中 文件提交过去没有

3.10 将本地项目推入远程仓库。

1)在本地创建一个目录: 2)进入gitdemo目录,右击鼠标打开git命令行(Git Base Here) 3)使用

git init 初始化git仓库

4)在gitdemo目录中添加一个测试文件,如abc.txt 5)将新增的abc.txt文件加入的本地仓库(分两步,见下图)

6.在gitee中创建仓库 名称最好与项目名称对应

.......

复制仓库关联地址

7)本地仓库与远程仓库关联

git remote add origin ‘地址’

添加后,远程库的名字就是origin,这是Git默认的叫法,也可以改成别的,但是origin这个名字一看就知道是远程库。

8)把本地库的所有内容推送到远程库上

3.11 冲突的问题

两个同时改了此一个文件 修改后还提交到远程 或 远程拉取到本地 就会出现冲突问题

1 温柔方式 使用 git pull 或 git fetch,先更新远程仓库内容。处理完合并后再推入远程仓库

上方问及那 选择一个修改 方案后 修改好此文件 可以提交 git push origin master (分支)

  1. 粗暴方式

git push -f

会忽略版本不一致等问题,强制将本地库上传的远程库,会覆盖远程仓库的内容。要谨慎使用

提交记录 也会记录 强制推送

猜你喜欢

转载自blog.csdn.net/qq_62898618/article/details/127246669