git

Posted xxxuwentao

tags:

篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了git相关的知识,希望对你有一定的参考价值。

一、GIT体系概述

提问:

  1. 大家公司是用什么工具来管理代码版本?SVN、CVS、GIT
  2. GIT和SVN有什么区别呢?

 

GIT 与 svn 主要区别:

  1. 存储方式不一样
  2. 使用方式不一样
  3. 管理模式不一样

1、存储方式区别

GIT把内容按元数据方式存储类似k/v数据库,而SVN是按文件(新版svn已改成元数据存储)

演示git 存储过程演示

cd .git/objects/df/

git cat-file -p df70460b4b4aece5915caf5c68d12f560a9fe3e4

echo ‘version1‘ > text.txt

git hash-object -w text.txt

2、使用方式区别

从本地把文件推送远程服务,SVN只需要commint 而GIT需要 add、commint、push 三个步骤

 

SVN基本使用过程

 

 

Git基本使用过程

 

 

3、版本管理模式区别

git 是一个分布式的版本管理系统,而要SVN是一个远程集中式的管理系统

 

集中式

 

 

分布式

 

* git可以直接使用本地仓库进行开发,非常方便。

* git的远程仓库主要是为了协同开发。

* 可以配置远程仓库的自动备份。

二、GIT 核心命令使用

主要内容:

  1. git 客户端安装配置
  2. 整体认识GIT的基本使用
  3. 分支管理
  4. 标签管理
  5. 远程仓库配置

1、安装git 客户端安装

官方客户端: httpsd://git-scm.com/downloads

其它客户端:https://tortoisegit.org/download/

* windows上安装的时候一定要注意换行符的自动转换。

 

2、认识GIT的基本使用

  1. git 项目创建与克隆
  2. 文件提交与推送

完整模拟从项目添加到push 过程

l  创建项目

l  初始化git仓库

l  提交文件

l 远程关联

l push 至远程仓库

 

本地初始化GIT 仓库:

#基于远程仓库克隆至本地

git clone <remote_url>

 

#当前目录初始化为git 本地仓库

git init  <directory>

 

基于mvn 模板创建项目

mvn archetype:generate

 

本地添加

#添加指定文件至暂存区

git add <fileName>

#添加指定目录至暂存区

git add <directory>

#添加所有

git add -A

#将指定目录及子目录移除出暂存区,本地不删除

git rm --cached target -r

#添加勿略配置文件 .gitignore

本地提交

#提交至本地仓库

git commit file -m ‘提交评论‘

#快捷提交至本地仓库

git commit -am ‘快添加与提交‘

3、分支管理

#查看当前分支

git branch [-avv]

-avv 显示所有的分支

#基于当前分支新建分支

git branch <branch name>

#基于提交新建分支

git branch <branch name> <commit id>

# 删除分支

$ git branch -d {dev}

#切换分支,后边的branch name可以是远程分支哦

git checkout <branch name>

#合并分支

git merge <merge target>

#解决冲突,如果因冲突导致自动合并失败,此时 status 为mergeing 状态.

#需要手动修改后重新提交(commit) 

 

 

4、远程仓库管理

#查看远程配置 

git remote [-v]

#添加远程地址

git remote add origin http:xxx.xxx

#删除远程地址

git remote remove origin 

#上传新分支至远程

git push --set-upstream origin master 

git push -u origin master 上面命令将本地的master分支推送到origin主机,同时指定origin为默认主机,后面就可以不加任何参数使用git push了。

 

 

#将本地分支与远程建立关联

git branch --track --set-upstream-to=origin/test test

5、tag 管理

#查看当前

git tag

#创建分支

git tag <tag name> <branch name>

#删除分支

git tag -d <tag name>

 

6、日志管理

 

#查看当前分支下所有提交日志

git log

#查看当前分支下所有提交日志

git log {branch}

# 单行显示日志

git log --oneline

# 比较两个版本的区别

git log master..experiment

 

#以图表的方式显示提交合并网络

git log --pretty=format:‘%h %s‘ --graph

以上是关于git的主要内容,如果未能解决你的问题,请参考以下文章

Git 学习路线

从0到1带你掌握git(一分钟掌握git)--git如何下载?git如何使用?git是什么?git怎么获取文件?

Git认识与使用 Git

Git认识与使用 Git

Git认识与使用 Git

Git认识与使用 Git