git fetch和git pull的区别_Git工作原理及基础操作

e541ea2cdf781ce0a314fb9cf9723461.png

一、Git的工作原理:

56b81aaad69e000a0a6804f7e96baef3.png
  • Workspace:工作区
  • Index/Stage:暂存区
  • Repository:仓库区
  • Remote:远程仓库
  • 分布式版本控制系统,每个人的电脑都是一个完整的版本库

二、Git的主要操作

  • Linux:
    • Cd + 路径:进入某个文件夹
    • Pwd: 显示当前文件路径
    • Ls -all:看到当前目录下的所有内容
  • 提交到暂存取
    • Git init: 把当前目录变成git可以管理的仓库
    • Git add + 文件名:把文件添加到暂存区
    • Git commit -m + 注释:告诉Git把文件提交到仓库
    • Git status:查看是否有文件未提交
  • 版本回退
    • Git diff + 文件名:查看文件的改动
    • Git log:显示从近到远的三次提交日志(git log -pretty=oneline可以使得显示的信息不那么复杂,只有版本号和commit时候的注释,我在Mac上操作需要:wp 退出log的模式)
    • Git Checkout + 文件名:用于add后还没commit之前
    • Git reset —hard HEAD^:退回上一个版本
    • Git reset —hard HEAD~100:退回到往回数第100个版本(如果有的话。。。)
    • Git reset —hard 版本号(从git log 或git reflow里获取)
  • 撤销修改
    • Git checkout — 文件名:丢弃工作区的修改
  • 删除文件
    • Git rm + 文件名/直接在工作区目录下删除文件
    • 如果想撤销删除文件:git checkout —文件名
  • 提交到Git远程仓库
    • Git remote add origin + git仓库地址(从网页版复制粘贴然后添加.git即可):将本地仓库和远程仓库关联
    • Git push -u origin master:把本地库的内容推送到远程仓库(第一次推送的时候添加-u参数,之后可以不添加)
  • 克隆远程库的内容到本地
    • Git alone git仓库地址
  • 创建/合并分支
    • Git checkout -b dev:创建并切换分支
    • Git branch:查看所有分支,当前分支会添加一个星号
    • Git branch dev:创建分支
    • Gti checkout dev:切换分支
    • Git merge dev:合并指定分支到当前分支上(git merge —no-ff -m “merge with no-ff” dev 合并dev分支,禁用fast-forward,不会丢失分支信息)
    • Git branch -d dev:删除dev分支
  • 从远程库上更新代码
    • Git pull:如果本地工作区上针对最新的远程库代码版本有更新,使用pull不会覆盖这个更新

三、工作区与暂存区的区别

  • 工作区:即在电脑上看到的目录(除了.git隐藏目录版本之外,我在Mac电脑上没有看到这个文件夹,但是之前使用Windows的时候是有的)
  • 版本库:即.git,存了很多东西,最重要的即为版本库,还有Git自动创建的分支master,以及指向master的一个指针HEAD

四、远程仓库

  • 需要注册Github账号,然后在网页版上创建repository,这个新创建的仓库目前是空的,可以做的操作有:
    • 关联一个本地的仓库,然后把本地仓库的内容推送到Git的仓库
    • 从别的仓库引入代码

五、分支使用策略

  • master应该是非常稳定的,一般情况下在dev上干活,需要线上发布,或者dev代码稳定后合并到master上来
  • 修复bug的时候,每个bug都可以创建一个临时分支来修复,修复完成后合并分支,然后将临时分支删除
  • 如果在dev上的工作还没有完成,又需要紧急修复另一个404bug:
    • 可以使用git stash把当前工作现场隐藏起来(文件暂存)
    • 解决完紧急bug之后切换回dev分支,使用git stash list查看暂存内容
    • Git stash apply/git stash pop, 后者恢复的同时会把stash的内容也删除了
  • 0
    点赞
  • 1
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值