不求谌解

不求谌解

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

每週分享 -- 重拾git

這週輪到我做技術分享了,思來想去,還是決定選擇 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 

更多#

載入中......
此文章數據所有權由區塊鏈加密技術和智能合約保障僅歸創作者所有。