Git基础和操作命令

Git是其中一种版本控制工具

说到版本控制工具,大致分为三类:分布式版本控制工具,本地版本控制工具和集中式版本控制工具。

Git就是一种典型的分布式版本控制工具,诞生于Linux系统,不需要中央服务器,每个协同开发者都拥有一个完整的版本库。任何协同开发者用的服务器发生故障,事后都可以用其它协同开发者本地仓库恢复。

优点是:不再受网络影响了。如果要将本地的修改,推送给其它协同开发者,还需要一台共享服务器,所有开发者通过这台共享服务器同步和更新数据。

本地版本控制工具:功能比较单一,很难实现多人协同开发。

SVN属于集中式版本控制工具。单一的集中管理的服务器,保存所有文件的修订版本,协同工作的开发者都通过客户端连到这台服务器,取出最新的文件或者提交更新。

缺点是:
1.如果集中管理的服务器出现故障,将会导致数据(版本)丢失的风险。
2.另外协同开发者从集中服务器中更新数据时,严重依赖网络,如果网络不佳,也给开发带来诸多不便。


Git基本操作:




Git分支




Git远程共享仓库(多人协同开发):


1.创建共享仓库以.git结尾的目录:

1.mkdir xxx.git创建以.git结尾目录

2.cd xxx.git进入这个目录

3.git init --bare初始化一个共享仓库(裸仓库)

2.向共享仓库共享(同步)内容  

1.进入到项目根目录

2.git push 用户名@IP地址../repo.git master(远程仓库目录)

这样就把yike中的项目同步进repo.git中。(共享仓库里面多出了一个master分支)

3.从共享仓库里取出内容

1.新创建一个目录(模拟另一个开发者)

2.git pull 用户名@IP地址.../repo.git master(远程仓库地址)

这里就有一个master分支


4.添加远程仓库的地址

git remote add student@192.168.141.95:/home/student/my.git

git remote 查看远程地址
git remote show +远程地址(查看详细信息


5.克隆仓库——git clone  远程地址,如若要修改目录则后面加空格写上新名字

.git仓库也被克隆下

克隆之后默认把长地址改为origin
所以再push的时候不用git remote add 别名
直接git push 别名即可

git push origin cart:master
把本地的cart分支添加到远程的master分支(如若没有master分支则会添加一个分支)
git push origin cart(不写的话就是本地和远程的分支名字一样)


删除远程分支git push origin --delete 分支名称
删除远程分支git push origin :分支名称


Git高级:

1.gitignore忽略文件

在项目根目录下创建一个.gitignore文件,可以将不希望提交的罗列在这个文件里,如项目的配置文件、node_modules等

https://github.com/github/gitignore


2.比较差异

当内容被修改,我们无法确定修改哪些内容时,可以通过git diff来进行差异比较

git difftool 比较的是工作区和暂存的差异
git difftool “SHA”比较与特定提交的差异
git difftool “SHA”“SHA”比较某两次提交的差异
git difftool 分支名称 比较与某个分支的差异


3.回滚(撤销)操作

git reset 可以改变HEAD的指向

--hard 工作区会变、历史(HEAD)会变, 暂存区也变。
--soft 只会变历史(HEAD)
--mixed(默认是这个选项)历史(HEAD)会变、暂存区也变,工作区不变


git checkout SHA -- "某个文件",代表只是从SHA这个版中取出特定的文件

和git reset 是有区别的,reset 重写了历史,checkout 则没有

















  • 1
    点赞
  • 1
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值