Git入门

Git快速入门

Git历史

(1991-2002)Linux ——> (2002-2005)BitKeeper ——> (两周研发)Git

        Git是免费的、开源的、最先进的分布式版本控制系统

———————————————————

Git环境配置

        Git最新版本2.25.2

 安装:

        官网下载慢可以找镜像

        淘宝镜像下载:CNPM Binaries Mirror

        无脑下一步安装

        安装成功后在开始菜单会有Git三个程序(Git:Bash Unix和Linux命令行)(Git CMD:Windows风格命令行)(Git GUI:图形界面的Git);

        任意文件夹下右键也可以看到对应的程序

卸载:反安装

        环境变量:path中git相关删除

        卸载

———————————————————

Git必要配置

git config -l(是L):查看默认配置

git config --system --list:系统级别

git config –global --list:本地配置当前用户的

所有配置文件都保存在本地;mingw64是执行目录

System配置文件位置:Git\etc\gitconfig

Global配置文件位置:C:\Users\Administrator\.gitconfig

配置用户名称email地址

git config –global user.name “lidan”

git config –global user.email 671713661@qq.com

利用下面命令查看

git config –global --list:本地配置当前用户的

———————————————————

Git基本理论

        SVN是集中式版本控制系统,版本库是集中放在中央服务器的。协同方法:工作用自己电脑,首先从中央服务器得到最新版本然后工作,工作后提交推送到中央服务器,集中式版本控制系统是必须联网工作的,对网络要求较高。

        Git四个工作区域:工作目录(Working Directory)、暂存区(Stage/Index)、资源库(Repository或Git Directory)、远程git仓库(Remote Directory)

  • Working Directory:工作区,平时存放代码的地方;
  • Stage/Index:暂存区,存放临时改动的文件,保持即将提交到文件列表信息;
  • Repository:仓库区(或本地仓库),安全存放数据的位置,有提交到所有版本的数据,其中HEAD指向最新放入仓库的版本;
  • Remote:远程仓库,托管代码的服务器。

本地三个区域准确说是git仓库中HEAD指向版本

  • Directory:使用Git管理的一个目录,也就是仓库,包含工作空间和Git管理空间;
  • Workspace:需要通过Git进行版本控制的目录和文件,这些目录和文件组成了工作空间;
  • .git是隐藏文件夹;
  • Stage/Index:暂存区,存放临时改动的文件,保持即将提交到文件列表信息;
  • Local Repo:本地仓库,存放本地的版本库、HEAD只是当前的开发分支(branch);
  • Stash:隐藏是一个工作状态保持栈,用于保存/恢复Workspace中的临时状态。

工作流程

  1. 在工作目录中添加、修改文件;(UserMapper.xml)
  2. 将需要进行版本管理的文件放入暂存区域;(git add.)
  3. 将暂存区域的文件提交到git仓库。(git commmit)

Git管理的文件有三种状态:已修改(modified)、已暂存(staged)、已提交(committed)

 ———————————————————

Git项目搭建

常用命令

本地仓库搭建

        创建本地仓库的方法有两种:一种是创建全新的仓库,一种是克隆远程仓库.

        创建全新仓库,需要用git管理的项目的根目录执行, 执行后可以看到,只是在项目目录多出来一个.git目录,关于版本等的所有信息都在这个目录里面。

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

克隆远程仓库

        将远程服务器上的仓库完全镜像一份到本地。(gitee、github)

# 克隆一个项目和它整个代码历史(版本信息)
$ git clone [url]
例:
$ git clone https;//gitee.com/kuangstudy/openclass.git

 ———————————————————

Git文件操作

文件四种状态

        Untracked:未跟踪,此文件在文件夹中,但并没有加入到git库,不参与版本控制,通过git add.状态变为staged(暂存)

Hello.java -> git add. -> git commit

本地文件 —> 添加到暂存区(被跟踪)—> 提交到远程仓库

        Unmodify:文件已经入库,未修改,即版本库中的文件快照内容与文件夹中完全一致,这种类型的文件有两种去处,如果它被修改,而变成Modified(文件已修改),如果使用git rm 移除版本库,则成为Untracked(未跟踪)文件;

        Modified:文件已修改,仅仅是修改并没有进行其他操作,这种类型的文件有两种去处,通过git add可进入staged(暂存)状态,使用git checkout,则丢弃修改过,返回到unmodify状态,这个git checkout即从库中取出文件,覆盖当前修改;

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

查看文件状态

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

git status                                #查看所有文件状态

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

#git commit -m “”     提交m暂存区中的内容到本地仓库 -m提交信息

具体实践

基本文件操作步骤

文件添加到工作文件夹下 ——>

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

git status                  #查看所有文件状态 ——>

git commit -m “注释内容”  #提交m暂存区中的内容到本地仓库 ——>

git status                  #查看所有文件状态

操作截图:

忽略文件

前端项目总 npm_moudles 不打包进去不提交;

Idea中.idea文件夹目录下都不需要提交 + 本地文件targrt 文件夹 upload、iml、pom.xml、README.md、数据库文件、临时文件、设计文件等都不需要提交;

在idea与.idea文件夹同级别的主目录下建立 .gitignore 文件,语法:

*.txt         #忽略所有 .txt 结尾的文件,这样上传就不会被选中

!lib.txt     #但是lib.txt除外

/temp        #仅忽略项目根目录下的TODO文件,但不包括其他目录temp

Build/        #忽略build/目录下的所有文件

Doc/*.txt     #忽略doc/notes.txt但不包括 doc/server/arch.txt

例如具体项目中下面 .gitignore 文件:

        第一段所有的class、log、lock不提交;

        第二段注释Package Files下,所有的jar、war、ear以及targrt下的不提交;

        第三段idea下,所有的.idea/以及*.iml的不提交;

*.class
*.log
*.lock

# Package Files #
*.jar
*.war
*.ear
targrt/

# idea
.idea/
*.iml

*velocity.log*

### STS ###
.apt_generated
.factorypath
.springBeans

### IntelliJ IDEA ###
*.iml
*.ipr
*.iws
.idea
.classpath
.project
.settings/
bin/

*.log
tmp/

#rebel
*rebel.xml*

 ———————————————————

使用码云

Github有墙,比较慢,国内一般使用gitee,公司可能搭建自己的gitlab服务器。

  1. 注册登录码云,完善个人信息
  2. 设置本机绑定SSH公钥,实现免密码登录

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

#生成公钥 pub公用的 另一个私钥

ssh-keygen

  1. 将公钥信息public key添加到码云账户
  2. 使用码云创建自己的远程仓库

 ———————————————————

Idea中集成Git

单人

创建idea项目(项目创建在git目录下) ——>

绑定git:将我们远程git文件目录(有.git文件夹的)复制到项目文件夹中,再刷新,会有红色就是选择状态 ——>

进入Terminal

输入git add回车

输入 git commit -m “file”回车

输入 git Push到远程仓库

分支

Master :主分支

Dev :开发用

V4.0 V3.0 :不同版本分支

(mas)就是分支,分支操作常用指令:

git branch           #列出所有本地分支

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

git btanch name      #新建一个叫name的分支但仍然存留在当前分支

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

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

git branch -d name      #删除叫name的分支

git push origin –delete name      #删除远程分支

git branch -dr [remote/branch]     #删除远程分支

—————————————————————————————————

笔记内容来源:B站 狂神说Java”快速入门Git

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值