git认识

创建git新仓库并提交代码

1 git init
创建一个新仓库
2 git clone username@host:/path/to/repository
克隆远端服务器上的仓库到本地并关联

git工作流
本地仓库由git维护的三棵树组成

  • 工作目录:实际的文件
  • 暂存区(index或stage):git add <filename>,提交到暂存区
  • Head(指向最后一次提交的结果):git commit -m "注释",提交到Head,但还未到远端仓库,需要git push才可以
git提交代码基本操作
git add 文件名
git commit -m "注释"
git push origin master(master可替换为对应分支)

分支
产品在master(默认分支)上上线,开发过程中不影响主分支新建的测试分支,只有将新建的分支push到远端仓库,才会被他人看到

git checkout -b 分支名           新建分支
git checkout master             切换回主分支
git checkout -d 分支名           删除分支
git push origin 分支名           将分支推送到远程仓库

理解

git版本库的内部结构是有向无环图。
每一次提交commit都会生成一个版本树的快照,通常快照会保存一个指向父节点引用,即最近一次提交的节点的快照;初次提交没有,git merge会有两个或多个

辨析

  • git merge与git rebase(工作方式不同)
    同:

从一个分支获取,并合并到当前分支

异:
git merge:

  • git merge master 把master分支合并到当前分支上,并产生一次新的commit(merge commit)
  • 若合并遇到冲突,仅需要修改冲突,再commit一次
  • 优:能真实的记录每一次commit
  • 缺:每次merge会自动产生一次merge commit,在commit比较频繁的时候(如使用git GUI tools时),分支杂乱。

git rebase:本质是变基,即找公共祖先。

  • 合并之前的commit历史,并且不会产生新的commit
  • 若合并中遇到冲突,需要修改冲突,然后git add git rebase --continue(若无效) git rebase --skip
  • 优:工作区简洁
  • 缺:不容易定位问题,rewrite工作区history

不要在公共分支上使用git rebase

git指令

  • git log --graph:可以查看分支合并图
  • git merge 分支名:将该分支合并到当前分支,合并commit操作
  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值