Git

Git

1、Git与SVN的区别

Git是一个开源的分布式版本控制系统,它采用了分布式版本库的方式,不用服务器端软件的支持。

Git不仅仅是个版本控制系统,它也是个内容管理系统,工作管理系统等。

· Git是分布式的,SVN不是;

· Git把内容按元数据方式存储,SVN是按文件存储;

· Git分支和SVN的分支不同;

· Git没有一个全局的版本号,SVN有全局的版本号;

· Git的内容完整性要优于SVN,Git的内容存储使用的是SHA-1哈希算法,这能确保代码内容的完整性,确保在遇到磁盘故障和网络问题时降低对版本库的破坏;

· Git并不像SVN那样有个中心服务器。

2、Git工作流程

· 克隆Git资源作为工作目录

· 在克隆的资源上添加或修改文件

· 如果其他人修改了,你可以更新资源

· 在提交前查看修改

· 提交修改

· 在修改完成后,如果发现错误,可以撤回提交并再次修改并提交

3、Git工作区、暂存区和版本库

工作区:Git在电脑里能看到的目录。

暂存区:英文叫stage或index,一般存放在.git目录下的index文件中,暂存区有时也叫做索引。

版本库:工作区有一个隐藏目录.git,它是git的版本库。

4、Git创建仓库

Git使用git init命令来初始化一个Git仓库,Git的很多命令都需要在Git的仓库中运行,git init是使用Git的第一个命令。在执行完git init命令后,Git会生成一个.git目录,该目录包含了资源的所有元数据,其他的项目目录保持不变。

创建Git仓库

· 使用当前目录作为Git仓库,我们只需使它初始化:

git init

该命令执行完成后会在当前目录生成一个.git目录。

· 使用指定目录作为Git仓库:

git init 目录名称

初始化后,会在那个目录下出现一个名为.git的目录,所有Git需要的数据和资源都存放在这个目录中。

· 如果当前目录下有几个文件想要纳入版本控制,需要先用git add命令告诉Git开始对这些文件进行跟踪,然后提交:

git add *.c
git add README
git commit -m '初始化项目版本'

以上命令将该目录下以.c结尾及README文件提交到仓库中。

Git克隆

我们使用git clone从现有Git仓库中拷贝项目(类似svn checkout)。在git clone时,可以用不同的协议,包括ssh、git、https等,其中最常用的是ssh,因为速度较快,还可以配置公钥免输入密码。

克隆仓库的命令格式为:

git clone 仓库地址

如果我们需要克隆到指定目录,可以使用下面的命令格式:

git clone 仓库地址 本地目录
Git配置

Git的设置使用git config命令。

显示当前的Git配置信息,命令如下:

git config --list

编辑Git配置文件:

git config -e    #针对当前仓库
git config -e --global    #针对系统上所有的仓库

设置提交代码时的用户信息:

git config --global user.name "你的用户名"
git config --global user.email 你的邮箱

如果去掉–global参数则只对当前仓库有效。

5、Git基本操作

GIT的工作就是创建和保存你项目的快照及与之后的快照进行对比。

Git常用命令

· 创建仓库命令

git init   #初始化仓库
git clone   #拷贝一份远程仓库,也就是下载一个项目

· 提交与修改命令

git add   #添加文件到仓库
git status   #查看当前仓库的状态,显示有变更的文件
git diff   #比较文件的不同,即暂存区和工作区的差异
git commit   #提交暂存区文件到本地仓库
git reset   #回退版本
git rm   #删除工作区文件
git mv   #移动或重命名工作区文件

· 提交/查看日志命令

git log   #查看历史提交记录
git log --oneline   #查看历史提交记录的简洁的版本
git log --graph   #查看历史中什么时候出现了分支、合并
git log --reverse   #逆向显示所有日志
git log --author=用户名   #查找指定用户提交的历史记录
git blame 文件名   #以列表形式查看指定文件的历史修改记录

· 远程操作命令

git remot   #查看当前远程仓库
git remot add 仓库名 仓库url   #添加一个新的远程仓库
git remot -v   #查看远程仓库信息
git fetch   #从远程获取代码库
git pull   #下载远程代码并合并
git push   #上传远程代码并合并
git push 远程仓库名 分支名   #将这个分支与数据推送到远程仓库
git remote rm 仓库名称   #删除远程仓库

6、Git分支管理

使用分支的好处:使用分支可以从开发主线上分离出来,在不影响主线的同时继续工作。

· 创建分支命令:

git branch 分支名称

· 切换分支命令:

git checkout 分支名称

当你切换分支的时候,Git会用该分支的最后提交的快照替换你的工作目录的内容,所以多个分支不需要多个目录

· 创建新分支并切换到该分支命令:

git checkout -b 分支名称

· 合并分支命令:

git merge

· 列出分支:

git branch

没有参数时,git branch会列出你在本地的分支。

· 删除分支命令:

git branch -d 分支名称

7、Git标签

我们可以给项目的重要阶段,重要的提交快照,使用git tag给它打上标签。

例如,我们给项目打上一个1.0版本,则命令如下:

git tag -a 1.0

当执行git tag -a命令时,Git会打开你的编辑器,让你写一句标签注解。

给项目追加标签命令如下:

git tag -a 版本号 项目名

查看所有标签命令:

git tag

指定标签信息命令:

git tag -a 版本号 -m 版本信息

删除标签命令:

git tag -d 版本号

查看此版本修改的内容:

git show 版本号
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值