Git

简介: 介绍git版本控制、环境配置、常用命令

Git

版本控制

版本控制工具

主流的版本控制器:

  • Git
  • SVN (subversion)
  • CVS (Concurrent Version System)
  • VSS (Micorosoft Visual SourceSafe)
  • TFS (Team Foundation Server)
  • visual Studio Online
版本控制分类

1.本地版本控制

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

image.png

2.集中版本控制 (SVN)

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

image.png

所有数据保存在单一的服务器上,容易丢失数据,用户的本地只有自己以前所同步的版本,如果不联网就看不到历史版本,也无法切换版本验证问题,或在不同分支工作。

3.分布式版本控制 git

image.png

所有的版本信息仓库全部同步到本地的每一个用户,可以在本地查看所有版本历史,可以离线进行本地提交,只需联网时传输到相应的服务器或其他用户。由于每个用户都保存所有的版本数据,只要有一个用户设备没有问题数据就不会丢失。但是增加了本地存储空间的占用,且容易造成安全隐患。

Git和SVN的主要区别

SVN是集中式版本控制系统,版本库是集中放在中央服务器的。工作时,需要从中央服务器上下载最新的版本到本地电脑,完成后需要上传修改后的到中央服务器。集中式版本控制是必须联网进行工作,对网络带宽要求较高。

Git是分布式版本控制系统,没有中央服务器,每个人的电脑就是一个完整的版本库,每个人修改后互相推送,就可以看到对方的修改。git可以直接看到更新了那些代码和文件。

Git是目前世界上最先进的分布式版本控制系统。

Git环境配置

安装Git 官网或者镜像库

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

Git CMD: Windows风格的命令行

Git GUI:图形界面的Git,

常用Linux命令

1)cd : 改变目录。

2)cd . . 回退到上一个目录,直接cd进入默认目录

3)pwd : 显示当前所在的目录路径。

4)ls(ll): 都是列出当前目录中的所有文件,只不过ll(两个ll)列出的内容更为详细。

5)touch : 新建一个文件 touch index.js 就会在当前目录下新建一个 index.js 文件。

6)rm: 删除一个文件, rm index.js 就会把index.js文件删除。

7)mkdir: 新建一个目录,就是新建一个文件夹。

8)rm -r : 删除一个文件夹, rm -r src 删除src目录

rm -rf / 切勿在Linux中尝试!删除电脑中全部文件!
9)mv 移动文件, mv index.html src index.html 是我们要移动的文件, src 是目标文件夹,当然, 这样写,必须保证文件和目标文件夹在同一目录下。

10)reset 重新初始化终端/清屏。

11)clear 清屏。

12)history 查看命令历史。

13)help 帮助。

14)exit 退出。

15)# 表示注释

Git配置

安装成功后,首先要设置用户名和e-mail地址

git config --global user.name ""     #名称

git config --global user.email           #邮箱

Git基本理论(核心)

  • 工作目录
  • 暂存区
  • 资源库
  • 远程仓库

工作流程
image.png

创建本地仓库:

1.创建一个新的本地仓库

2.克隆一个远程仓库

git init 
#在当前目录新建一个Git代码库

执行后在目录下出现一个.git的隐藏文件

克隆远程仓库
git clone + url

查看文件状态

#查看指定文件状态
git status [filename]
#查看所有文件状态
git status

git add .
#添加所有文件到暂存区

git commit -m

#提交暂存区中的文件到本地仓库  -m 提交信息
忽略文件

有些文件不想打包上传,可以在.gitignore文件中进行配置

在主目录下建立".gitignore"文件,此文件有如下规则:

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

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

([abc])代表可选字符范围,大括号({string1,string2,.…})代表可选的字符串等。

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

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

忽略。

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

(默认文件或目录都忽略)。

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

在gitee上创建仓库,在本地文件夹中clone +地址 ,将项目源码放在文件夹里或者把文件夹里面的文件放在项目目录下,打开idea ->commit ->push

git分支

git分支相互平行互不干扰。在需要合并的时候可以进行合并

git分支中常用命令:

#列出所有本地分支
git branch

#列出所有远程分支
git branch -r

#新建一个分支,但依然停留在当前分支
git branch [branch-name]

#新建一个分支,并切换到该分支
git checkout -b [branch]

#合并指定分支到当前分支
git merge [branch]

#删除分支
 git branch -d [branch-name]
#删除远程分支
 git push origin --delete [branch-name]
git branch -dr [remote/branch]

相关文章
|
6月前
|
存储 开发工具 git
详解git的使用
详解git的使用
|
6月前
|
XML Java 开发工具
Git简单了解
Git是一个版本控制系统,用于跟踪和管理软件开发项目中的代码改动。它可以记录代码的历史修改,支持多人协作开发,提供了分支管理等功能。通过Git,开发者可以方便地回退到代码的早期版本,合并代码的改动,以及与其他开发者共享代码。Git已经成为大多数软件开发团队的标准工具之一。
59 3
 Git简单了解
|
Linux Shell 网络安全
|
存储 Linux 开发工具
git相关总结大全
git相关总结大全
|
Shell Linux 网络安全
git详解
git详解
241 0
git详解
|
开发工具 git
Why Git?
Why Git?
100 0
|
存储 开发工具 git
【Git】你必须知道
使用 Git 作为代码版本管理,早已是现在开发工程师必备的技能。可大多数工程师还是只会最基本的保存、拉取、推送,遇到一些commit管理的问题就束手无策,或者用一些不优雅的方式解决。 本文分享我在开发工作中实践过的实用命令。这些都能够大大提高工作效率,还能解决不少疑难场景。下面会介绍命令,列出应用场景,手摸手教学使用,让同学们看完即学会。
80 0
|
开发工具 git
|
网络安全 开发工具 数据安全/隐私保护
后来的我们—我与git的破镜重圆
你在学习使用git的过程中肯定也遇到过这些坑,如果没有遇到这些问题也可以看看,说不定哪天遇到了没处理好那你们就'broke up’了,一起迈过这些坑,后来的我们就会有一个happy ending 1、使用git remote add是报错? 说明本...
1372 0
|
开发工具 git
简单实用git
git基本使用 本文根据廖雪峰文档链接 1创建仓库 (1)使用命令行找到一个仓库放的地方 mkdir learngit mkdir是创建一个文件夹 learngit是文件夹的名字 (2)进入到 learngit中 输入: git init 把刚才创建的...
714 0