Git 精髓

一、基础

1、泛谈

(1)概念:分布式版本控制系统

(2)作用

  • 协同开发
  • 数据备份
  • 版本管理
  • 权限控制

2、集中式与分布式

(1)svn 集中式:所有客户端都依赖于 中央服务器,所以必须联网才能用。

(2)git 分布式:每个电脑都有一个本地仓库,不会完全依赖于 中央服务器,因此可以断网使用。

二、工作流程

1、架构

图片

  • Workspace:本地工作空间
  • Index / Stage:提交前的暂存区
  • Repository:本地仓库
  • Remote:远程仓库

三、常用命令

1、初步使用

//配置 git
git config --global user.name "Your Name"
git config --global user.email "email@example.com"

//查看配置
git config --list

//将目录初始化为 git可管理的仓库,会生成一个文件夹 .git
git init

// 把文件添加到暂存区
git add <filename>

// 提交到 本地仓库
git commit -m <message>

// 查看是否有文件未提交
git status

// 查看文件修改内容
git diff <filename>

2、版本回退

// 查看提交历史
git log

//查看提交历史版本
git reflog

//恢复版本,三种模式 ,默认是 --mixed
//--soft只是恢复本地库 、--mixed是恢复本地库和暂存区、--hard是本地库和暂存区和工作区都恢复
git reset --hard <commitId>

// 恢复修改,若还没add则内容会被删除,若已 add则就只是撤销add操作
git checkout -- <filename>

//撤销 add操作
git reset HEAD <filename>

// 删除文件
git rm <filename>

3、远程仓库

// 用户主目录找.ssh目录,里面有id_rsa和id_rsa.pub两个文件,id_rsa是私钥,id_rsa.pub是公钥,公钥放一般就是配置到 github等这些仓库上
// 执行命令生成
ssh-keygen -t rsa -C <youremail@example.com>

//查看远程仓库名称,一般都是叫 origin
git remote

//将本地已经 init的目录和远程仓库关联
git remote add origin https://github.com/xxx/xxx.git

// 推送到远程仓库,首次需要带 -u来关联分支,后续则不用
git push -u origin master

// 拉去远程仓库最新代码
git pull

// 若本地原来没有的项目,从远程仓库克隆出来
git clone https://github.com/xxx/xxx.git

// 本地仓库迁出远程仓库中的其他分支
git checkout -b dev origin/dev

// 为某个状态打标签
git tag v1

// 查看所有标签
git tag

//删除标签
git tag -d v1

// 推送标签到远程仓库
git push origin --tags

4、操作分支

// 查看当前分支
git branch

// 切换分支,加了 -b则表示新创建并切换到该分支,没有加则只是切换已有分支
// 切换分支也可以用 git switch -c <branch> -c 表示新创建
git checkout -b <branch>


//删除分支
git checkout -d <branch>

//当前分支 去合并其他
git merge <branch>

//暂存修改(不同于提交前的暂存)
git stash

// 查看暂存
git stash list

//恢复暂存
git stash apply

//删除暂存
git stash drop

5、出现冲突

// 一般先 commit自己代码
git commit -m <message>

//然后 pull代码
git pull

//出现冲突,合并如果改了同个文件,修改好文件
git merge 

//再提交
git commit -m <message>

//最后 push
git push

 

 

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值