## Git 實戰

"Code tailor",爲前端開發者提供技術相關資訊以及系列基礎文章,微信關注「小和山的菜鳥們」公衆號,及時獲取最新文章。

在這邊,咱們採用的是 MacBook 版的 git 實戰方式,我在這邊使用的是 iTerm2,能夠展現分支狀況,以及狀態,iTerm2 的安裝方式能夠參考這篇文章 iTerm2+zsh 安裝和樣式調整,讓你的 終端 更加實用炫酷前端

首先安裝 Git

brew install git

git init 使用

咱們在桌面新建一個名爲 gitTest 的文件夾git

而後在終端命令中,cd 訪問到相應的文件夾,而後執行下述命令新建一個 git 倉庫github

git init

20210420223021576.png

這樣就能夠在文件夾下看到一個 .git 文件了shell

20210420224103451.png

若是你看不到 .git 文件也不用慌張,只是隱藏文件沒有打開bash

# 打開全部隱藏文件
defaults write com.apple.finder AppleShowAllFiles -bool true

# 還須要關閉全部Finder以後 從新打開有效
killall Finder

這兩句執行,並無什麼特別的返回結果,可是你從新打開文件夾以後,就能夠看到 .git 文件了微信

20210420224356358.png

git clone 的使用

執行下面的命令來克隆一個遠端倉庫app

git clone https://github.com/Huzq-Strive/git-application-docs.git

這是克隆成功時的返回截圖spa

20210421103132688.png

clone 以後,文件中多了遠端倉庫的內容.net

20210420231023160.png

git add 的使用

首先 cd 訪問到你 clone 的文件中命令行

20210420233804297.png

添加本身的文件夾和文件進去

20210421000539531.png

而後經過 add 命令添加文件到 暫存區

# cd 進文件
cd git-application-docs

# 添加到 暫存區
git add myFirstGit/firstTryGit.md

# 若是文件被忽略 則能夠強制add
git add -f myFirstGit/firstTryGit.md

這邊多了一個 add 狀態

20210421103750295.png

git commit 的使用

git commit 命令是用來在本地提交內容的,能夠記錄你本次修改內容。

# 第一次提交 commit本身的文件
git commit -m "feat: first add file"
# 第二次提交 文章作了修改
git commit -m "fix:second try"

20210421103906118.png

如今咱們去修改文件中的內容,再進行第二次提交

注意:在使用 commit以前必定要進行 add操做,此次若是有修改,也請 add修改文件後進行 commit

20210421104123890.png

git push 的使用

commit 以後就是 push 了,也就是提交咱們本地的改動到遠端倉庫

# 將文件傳到遠端倉庫
git push

push 成功的返回結果以下:

20210421104321196.png

若是以前的代碼不是經過 clone 下來的,那你就須要先連接倉庫,才能夠 push

# 連接倉庫
git remote add origin https://github.com/rookies-of-XHS/git-application-docs.git

分支管理

  • 建立並檢出一個名爲 branch_try 的分支
git checkout -b branch_try

2021042108485246.png

  • 切回主分支
# 切回main分支
git checkout main

20210421084946717.png

  • 刪除分支
# 刪除新建分支
git branch -d branch_try

20210421085027829.png

  • push 本地建立的分支到遠端倉庫。
git push https://github.com/Huzq-Strive/git-application-docs.git branch_try

20210421105437500.png

這時候,咱們來看看遠端的倉庫就多出了一個分支

2021042110560250.png

pull 的使用

在 開發中 咱們常常會 多人進行操做 這時候就會有別人的 push 你須要 pull 下來

# 拉下修改內容
git pull

這邊爲了演示 pull 操做咱們從新建了一個本地倉庫,用來展現兩我的同時操做,咱們就跳過建倉庫等步驟,就直接修改內容,而後 push 到倉庫了。這之後你就能夠再原先的文件下使用 pull 命令了。

20210421120624744.png

切換到原來的文件夾目錄下使用 pull

20210421110351479.png

而後本身的分支修改完成沒有問題以後,也須要合併到 main 分支,使用如下命令

# 在 main 分支下 執行
git merge branch_try

這是新分支上加的內容

20210421115013581.png

20210421115129987.png

這是合併以後的結果,多了個 push

20210421115129987.png

而後咱們再 push一下到遠端

2021042111512998.png

這時候你就能夠發如今遠端的 main 分支也有了 branch_try 分支的內容

20210421.png

衝突演示與解決方式

並非每一次合併都會沒有問題,有時候會產生 衝突( conflicts ),這時候你就須要去解決衝突,須要修改文件手動合併這些衝突,改完以後須要執行以下命令標記爲衝突已解決。

如今咱們來演示一個衝突

這是第二個文件下作的修改。

202104211.png

而後 add & commit & push 一下。

git add myFirstGit/firstTryGit.md
git commit -m "resove conflicts"
git push # 傳到遠端

這是第一個文件下的修改。

2021042113211.png

兩個都在同一個文件內作了修改,執行 add & ommmit 兩個命令。

git add myFirstGit/firstTryGit.md
git commit -m "begin" # 這邊要先commit以後才能夠pull

這邊執行 pull 一下。

git pull # 拉去,產生衝突

你就會發現這裏是有衝突的,fix conflicts and then commit the result ,須要你解決衝忽然後提交一下。

202103211.png

這裏你就發現了這麼一些奇怪的東西,將它們都刪除了以後,保存文件。

202103211.png

在使用命令行, add & commit 一下,就能夠 push 到遠端了。

git add myFirstGit/firstTryGit.md
git commit -m "resolve conflicts"
git push # 到這一步就完成了

202103211.png

提交記錄的查看

  • 使用 git log 命令來查詢 歷史的提交記錄,能夠看到以提交的 ID
git log

2003211.png

  • 使用標籤,建立一個名爲 1.0.1 的標籤
git tag 1.0.1 2eda8fcac6

2003211.png

  • 只看某我的的提交記錄
git log --author=hzq # 這裏查看的做者本身的提交記錄

23211.png

  • 壓縮提交成一行觀看
git log --pretty=oneline

211.png

  • 查看哪些文件有改變
git log --name-status

211323.png

以上就是咱們今天 git 實戰的所有內容了

相關文章
相關標籤/搜索