git基础使用

Git使用详解

1.git是什么?

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

那么Git之父是谁呢?

Git 是 Linus Torvalds 为了帮助管理 Linux 内核开发而开发的一个开放源码的版本控制软件。

1.1 git功能

从一般开发者的角度来看,git有以下功能:

1:从服务器上克隆数据库(包括代码和版本信息)到单机上。

2:在自己的机器上创建分支,修改代码。

3:在单机上自己创建的分支上提交代码。

4:在单机上合并分支。

5:新建一个分支,把服务器上最新版的代码fetch下来,然后跟自己的主分支合并。

6:生成补丁(patch),把补丁发送给主开发者。

7:看主开发者的反馈,如果主开发者发现两个一般开发者之间有冲突(他们之间可以合作解决的冲突),就会要求他们先解决冲突,然后再由其中一个人提交。如果主开发者可以自己解决,或者没有冲突,就通过。

8:一般开发者之间解决冲突的方法,开发者之间可以使用pull 命令解决冲突,解决完冲突之后再向主开发者提交补丁。

1.2 git特点

1.直接快照,而非比较差异

git和其他版本控制系统的主要差别在于,git只关心数据的整体是否发生变化,而大多数其他系统只关心文件内容的具体差异。这类系统(CVS,Subversion,Perforce,Bazaar等待)每此记录有哪些文件进行了更新,以及都更新了哪些行的什么内容。

git并不保存这些前后变化的差异数据。实际上,git更像睡觉哦把变化的文件作快照后,记录在一个微型的文件系统中。每次提交更新时,它会纵览一遍所有文件的指纹信息并对文件作一次快照,然后保存一个指向这次快照的索引。为提高性能,若没有文件变化,git不会再次保存,而只对上次保存的快照作一连接。

2.近乎所有操作都可以本地执行

在git中的绝大多数操作都只需要访问本地文件和资源,不用联网。因为git在本地磁盘上就保存着所有有关当前目录的历史更新,所以处理起来速度飞快。

3.时刻保持数据完整性

git建立在整体框架的最底层,当文件传输变得不完整,或者磁盘损坏导致文件数据缺失时,git都会察觉。

4.三种状态

staged(已暂存):表示把已经修改的文件放入下次提交时要保存的清单中。

modified(已修改):表示修改了整个文件,但是还没有提交保存。

committed(已提交):表示该文件已经安全地保存在本地数据库中了。

1.3 在linux上安装git

如果要在linux上安装预编译好的git二进制包,可以直接用系统提供地包管理工具。在fedora上用yum安装:

#yum install git-core

ubuntu这类debian体系地系统上,可以用apt-get安装

#apt-get instal git-core

2.git的使用操作命令

基本操作

1.初始化仓库

。git init

2.配置用户信息

。git config --global user.name "username"

。git config --global user.email tom@qq.com

3.查看配置信息

。git config --list

4.获取帮助

。git help verb

比如要学习config命令可以怎么用,运行

。git help config

5.添加文件到暂存区

。git add filename

。git add *(添加所以文件到暂存区)

。git add --all (添加所以文件到暂存区)

6.移除文件

。git rm filename

7.重命名一个文件

。git mv oldfilename newfilename

8.提交到暂存区

。git commit -m "message" 只会提交暂存区(staged)里面的内容

9.查看工作目录状态

。git status

10.查看提交历史记录

。git log

11.查看文件的改变

。git diff

撤销操作

1.撤销加入到暂存区的操作

。git reset HEAD file

2.撤销修改的操作

。git checkout -- file

3.将本地的修改放进回收站

。git stash

4.从回收站中回复本地的修改

。git stash apply

tag 操作

1.查看tag

。git tag

2.创建tag

。git tag -a v1.0 -m "my version 1.0"

3.显示tag信息

。git show v1.0

4.对之前的提交打tag

。git tag -a v0.1 -m "version 0.1"

分支操作

1.查看分支

。git branch

2.创建分支

git branch branchname

3.删除分支

git branch -d branchname

4.切换分支

。git checkout branchname

5.创建并切换分支

。git checkout -b branchname

远端仓库操作

1.克隆一个远端仓库

。git clone url

2.添加远端仓库

。git remote add name url

3.更新远端仓库的分支和数据

。git fetch name

4.获取并合并远端仓库的分支到当前分支

。git pull reponame branchname

5.上传本地分支和数据到远端仓库

git push reponame branchname

6.跟踪远端分支上的分支

。git checkout --track origin/testbrancj

。git checkout -b test origin/testbranch

原文地址:https://www.cnblogs.com/W-Kr/p/5243115.html