不求谌解

不求谌解

💻 Web Dev / Creative 💗 ⚽ 🎧 🏓
twitter
github
jike
email

每周分享 -- 重拾git

image

这周轮到我做技术分享了,思来想去,还是决定选择 git 作为本周技术分享的主题。原因有二,一是最近在使用 git 时出现了一些难题,具体下文会有提到。二是,尽管每天都在使用 git,但对于一些基础概念还是有模糊的地方,也想通过这次的分享进一步理解 git。

git 原理#

git

workspace: 工作区(当前的开发位置)

  • git pull: 从远程仓库拉取最新的代码到工作区 => git fetch + git merge
  • git diff: 查看修改但未暂存的文件

index: 暂存区

  • git add: 工作区修改的内容提交到暂存区

repository: 本地仓库

  • git commit: 将暂存区内容提交到本地仓库
  • git fetch或者git clone: 从远程仓库拉取 / 克隆代码到本地仓库

remote repository: 远程仓库

  • git push: 将本地仓库内容提交到远程仓库

常见问题#

  1. git push origin master 具体是在做什么事?

把本地master分支上的内容,推一份到origin这个地方,并且在origin这个地方建立一个同名的master分支
完整指令:git push origin master:master => git push <远程主机名> <本地分支名>:<远程分支名>

  1. git merge 和 git rebase 的区别

举例:把 test 分支合并到 master 分支

git-test

git merge的结果

git-merge

git rebase的结果

git-rebase

在线演示

最近遇到的问题#

  1. 本地项目运行出错,想要回退到之前的版本 => 本地仓库回退到之前的版本
git reset --hard/soft [需要回退的提交点]
  1. 撤销已经推送到仓库的提交 => 远程仓库回退到之前的版本
git reset --hard [需要回退的提交点]
git push origin HEAD --force 

更多#

加载中...
此文章数据所有权由区块链加密技术和智能合约保障仅归创作者所有。