一整套流程幫你實踐整個 Git 操作基礎流程。
來源:https://docs.microsoft.com/zh-cn/learn/paths/intro-to-vc-git/
確認已經安裝 git
git --version
輸出
git version 2.30.1 (Apple Git-130)
設定 Git,必須定義一些全域性變數:user.name
和 user.email
。
git config --global user.name "<USER_NAME>"
git config --global user.email "<USER_EMAIL>"
檢查更改是否成功。
git config --list
輸出
user.name=User Name
[email protected]
建立名為「Cats」的資料夾,此資料夾為專案目錄(也稱為「工作樹」)
mkdir Cats
cd Cats
初始化新儲存庫,將預設分支名稱設定為 main
:
git init --initial-branch=main
git init -b main
使用 git status
顯示工作樹的狀態:
git status
輸出
On branch main
No commits yet
nothing to commit (create/copy files and use "git add" to track)
使用 ls -a 顯示工作樹的內容:
ls -a
確認目錄包含一個名為.git 的子目錄。此資料夾為 Git 儲存庫——用於儲存工作樹的後設資料和歷史記錄的目錄。
git --help
輸出
usage: git [--version] [--help] [-C <path>] [-c <name>=<value>]
[--exec-path[=<path>]] [--html-path] [--man-path] [--info-path]
[-p | --paginate | -P | --no-pager] [--no-replace-objects] [--bare]
[--git-dir=<path>] [--work-tree=<path>] [--namespace=<name>]
<command> [<args>]
These are common Git commands used in various situations:
start a working area (see also: git help tutorial)
clone Clone a repository into a new directory
init Create an empty Git repository or reinitialize an existing one
work on the current change (see also: git help everyday)
add Add file contents to the index
mv Move or rename a file, a directory, or a symlink
restore Restore working tree files
rm Remove files from the working tree and from the index
sparse-checkout Initialize and modify the sparse-checkout
examine the history and state (see also: git help revisions)
bisect Use binary search to find the commit that introduced a bug
diff Show changes between commits, commit and working tree, etc
grep Print lines matching a pattern
log Show commit logs
show Show various types of objects
status Show the working tree status
grow, mark and tweak your common history
branch List, create, or delete branches
commit Record changes to the repository
merge Join two or more development histories together
rebase Reapply commits on top of another base tip
reset Reset current HEAD to the specified state
switch Switch branches
tag Create, list, delete or verify a tag object signed with GPG
collaborate (see also: git help workflows)
fetch Download objects and refs from another repository
pull Fetch from and integrate with another repository or a local branch
push Update remote refs along with associated objects
'git help -a' and 'git help -g' list available subcommands and some
concept guides. See 'git help <command>' or 'git help <concept>'
to read about a specific subcommand or concept.
See 'git help git' for an overview of the system.
使用 touch
建立名為 index.html 的檔案
touch index.html
如果檔案存在,
touch
會更新檔案的上次修改時間。
使用 git status 獲取工作樹的狀態:
git status
輸出:
On branch main
No commits yet
Untracked files:
(use "git add <file>..." to include in what will be committed)
index.html
nothing added to commit but untracked files present (use "git add" to track)
使用 git add
將新檔案新增到 Git 的「index」,然後是用 git status
檢查狀態。.
表示為當前目錄中的所有檔案新增編制索引。
git add .
使用 git status 以確保更改已暫存無誤:
git status
輸出
On branch main
No commits yet
Changes to be committed:
(use "git rm --cached <file>..." to unstage)
new file: index.html
使用以下命令建立新提交
git commit index.html -m "Create an empty index.html file"
輸出
[main (root-commit) 166b2d9] Create an empty index.html file
1 file changed, 0 insertions(+), 0 deletions(-)
create mode 100644 index.html
使用 git log
顯式有關提交的資訊:
git log
輸出
commit 166b2d94a49ecbe6008aa027e9d2f7d870c78724 (HEAD -> main)
Author: duzhida <[email protected]>
Date: Fri Feb 25 19:54:08 2022 +0800
Create an empty index.html file
修改 index.html,將以下語句貼上到編輯器。
<h1>Our Feline Friends</h1>
使用 git status
檢查工作樹狀態:
git status
輸出
On branch main
Changes not staged for commit:
(use "git add <file>..." to update what will be committed)
(use "git restore <file>..." to discard changes in working directory)
modified: index.html
no changes added to commit (use "git add" and/or "git commit -a")
提交更改
git commit -a -m "Add a heading to index.html"
輸出
[main 57cdf5c] Add a heading to index.html
1 file changed, 1 insertion(+)
將 index.html 修改為以下內容
<!DOCTYPE html>
<html>
<head>
<meta charset='UTF-8'>
<title>Our Feline Friends</title>
</head>
<body>
<h1>Our Feline Friends</h1>
<p>Eventually we will put cat pictures here.</p>
<hr>
</body>
</html>
使用 git diff 命令檢視更改的內容
git diff
輸出
On branch main
Changes not staged for commit:
(use "git add <file>..." to update what will be committed)
(use "git restore <file>..." to discard changes in working directory)
modified: index.html
no changes added to commit (use "git add" and/or "git commit -a")
預設使用 git diff 將工作樹與索引進行比較。若要將工作樹與上次提交進行比較,可以使用
git diff HEAD
。
提交更改。如果在索引中已具有檔案,可以顯示命令要暫存和提交的檔案,而不是使用-a
標誌。
git commit -m "Add HTML boilerplate to index.html" index.html
再次使用 git diff
將工作樹與索引進行比較:
git diff
git diff
不會生成任何輸出,因為工作樹、索引和 HEAD
全部一致。
新建名為.gitignore
的檔案,將以下行新增到該檔案中:
*.bak
*~
此行指示 Git 忽略名稱以.bak
或~
結尾的檔案。
使用以下命令來提交更改:
git add -A
git commit -m "Make small wording change; ignore editor backups"
-A
選項與 git add
結合使用,以新增所有未跟蹤(和未忽略)的檔案,以及已更改並受 Git 控制的檔案。
在 CSS 目錄下建立一個名為 site.css 的檔案,並將以下內容新增到site.css 中。
mkdir CSS
cd CSS
code site.css
h1, h2, h3, h4, h5, h6 { font-family: sans-serif; }
body { font-family: serif; }
修改 index.html,並將以下內容新增到 index.html 中,在<title>
行之後。
<link rel="stylesheet" href="CS/site.css">
使用 git status
檢視已更改檔案的摘要,並將未跟蹤檔案暫存到版本控制,並將所做更改提交。
git add .
git commit -m "Add a simple stylesheet"
使用 git log 檢視所有提交:
git log
輸出
commit 184bff431ac0c16b798d2dc5636d22fef68cbcaf (HEAD -> main)
Author: duzhida <[email protected]>
Date: Fri Feb 25 20:07:24 2022 +0800
Add HTML boilerplate to index.html
commit 57cdf5c28b8b20fa75cc34aa0481308e2347f257
Author: duzhida <[email protected]>
Date: Fri Feb 25 20:00:05 2022 +0800
Add a heading to index.html
commit 166b2d94a49ecbe6008aa027e9d2f7d870c78724
Author: duzhida <[email protected]>
Date: Fri Feb 25 19:54:08 2022 +0800
Create an empty index.html file
新增—-oneline
引數可以使輸出更加簡潔:
git log --oneline
184bff4 (HEAD -> main) Add HTML boilerplate to index.html
57cdf5c Add a heading to index.html
166b2d9 Create an empty index.html file
在上一個練習中,連結樣式表的目錄檔案路徑出現了錯誤,因此在 index.html 中更新了正確的路徑。此時可以直接提交 index.html 的已更正版本,可以選擇將其放在與原始版本相同的提交中。利用 git commit
的 --amend
選項可以更改歷史記錄。
git commit --amend --no-edit
--no-edit
選項指示 Git 在不更改提交訊息的情況下進行更改。 你還可以使用 --amend
來編輯提交訊息、新增意外遺留在提交之外的檔案或刪除錯誤新增的檔案。
更改歷史記錄是 Git 最強大的功能之一。 與使用大多數功能強大的工具一樣,必須謹慎使用此功能。 特別注意,建議不要更改已與另一開發人員共用或已釋出在共用儲存庫(如 GitHub)中的提交。
刪除 index.html
rm index.html
恢復 index.html。使用 git checkout 恢復 index.html
git checkout -- index.html
輸出
Updated 1 path from the index
使用 git rm
來刪除檔案,此命令會把檔案從磁碟和 Git 索引中的記錄檔案刪除。此時 git checkout -- index.html
將無法順利恢復。
此時必須使用 git reset
取消暫存更改。
git rm index.html
此時使用 git checkout
無法恢復 index.html。因為這次 Git 不僅刪除了該檔案,還將刪除操作記錄在索引中。
輸出
error: pathspec 'index.html' did not match any file(s) known to git
git reset
從 Git 取消檔案刪除的暫存。此命令會將檔案返回到索引,但仍會在磁碟上刪除該檔案,此時就可以用 git checkout
將其從索引還原到磁碟。
git reset HEAD index.html
Git 提供多種重置型別。 預設型別為
--mixed
,它會重置索引,但不會重置工作樹;如果指定其他提交,它也會移動 HEAD。--soft
選項僅移動HEAD
,且保持索引和工作樹不變。 此選項會像git status
那樣,將所有更改保留為「待提交更改」。--hard
重置會同時更改索引和工作樹以匹配指定的提交;對跟蹤檔案所做的所有更改都會被丟棄。
輸出
Unstaged changes after reset:
D index.html
現在可以使用 git checkout -- index.html
來恢復檔案。
假設修改了檔案導致錯誤,要將檔案恢復到先前的版本,但是更改已提交。這樣就要還原先前的提交。
修改 index.html,用一下程式碼替換 index.html 中的內容並儲存提交。
<h1>That was a mistake!</h1>
git commit -m "Purposely overwrite the contents of index.html" index.html
git log -n1
此時使用 git revert
復原已提交的更改
git revert --no-edit HEAD
--no-edit
表示不需要為此操作新增提交訊息。
輸出
[main e2276d3] Revert "Purposely overwrite the contents of index.html"
Date: Sun Feb 27 10:46:19 2022 +0800
1 file changed, 13 insertions(+), 1 deletion(-)
使用 git log
顯式最新的提交
git log -n1
輸出
commit e2276d3b8876d749315a11ac526f469afaee18c1 (HEAD -> main)
Author: duzhida <[email protected]>
Date: Sun Feb 27 10:46:19 2022 +0800
Revert "Purposely overwrite the contents of index.html"
This reverts commit 229660d415c197288b499d1c7d2913534ae995f3.
mkdir Cats
cd Cats
git init --initial-branch=main
git init -b main
git config user.name "cats"
git config user.email "[email protected]"
touch index.html
mkdir CSS
touch CSS/site.css
git add .
git commit -m "Create empty index.html, site.css files"
code index.html
code CSS/site.css
git add .
git commit -m "Add simple HTML and stylesheet"
git log --oneline
<!DOCTYPE html>
<html>
<head>
<meta charset='UTF-8'>
<title>Our Feline Friends</title>
<link rel="stylesheet" href="CSS/site.css">
</head>
<body>
<h1>Our Feline Friends</h1>
<p>Eventually we will put cat pictures here.</p>
<hr>
</body>
</html>
h1, h2, h3, h4, h5, h6 { font-family: sans-serif; }
body { font-family: serif; }
輸出
0d5e59f (HEAD -> main) Add simple HTML and stylesheet
07d4229 Create empty index.html, site.css files
模擬 Alice 將儲存庫克隆到他們的計算機上。在實際中,可以通過設定網路共用或可通過 URL 存取的遠端儲存庫來完成此操作。
cd ..
mkdir Alice
cd Alice
使用 git clone 將專案目錄中的儲存庫可能到 Alice 目錄中。
git clone ../Cats .
輸出
Cloning into '.'...
done.
若儲存倉庫作出修改,可以使用 git pull
拉取最新的更改。
git pull
Alice 更改了網站的背景色。
設定Alice本地儲存庫標識:
git config user.name "alice"
git config user.email "[email protected]"
code CSS/site.css
body { font-family: serif; background-color: #F0FFF8; }
提交更改
git commit -a -m "Change background color to light blue"
然後必須對原始儲存庫發出拉取請求
git request-pull -p origin/main .
輸出
warn: refs/heads/main found at . but points to a different object
warn: Are you sure you pushed 'HEAD' there?
The following changes since commit 0d5e59f17b0f6e6f8c7c6515abb55e398465fb59:
Add simple HTML and stylesheet (2022-02-27 10:58:42 +0800)
are available in the Git repository at:
.
for you to fetch changes up to 825aab8e6500f896f21b6c5aba8bdf4bec18dbe3:
Change background color to light blue (2022-02-27 11:30:27 +0800)
----------------------------------------------------------------
alice (1):
Change background color to light blue
CSS/site.css | 2 +-
1 file changed, 1 insertion(+), 1 deletion(-)
diff --git a/CSS/site.css b/CSS/site.css
index caefc86..86d41e8 100644
--- a/CSS/site.css
+++ b/CSS/site.css
@@ -1,2 +1,2 @@
h1, h2, h3, h4, h5, h6 { font-family: sans-serif; }
-body { font-family: serif; }
\ No newline at end of file
+body { font-family: serif; background-color: #F0FFF8; }
\ No newline at end of fil
在實際中,Alice 目錄位於 Alice 的計算機上。通過使用 git remote 命令設定遠端儲存庫,然後將該遠端庫用於拉取和推播請求。
cd ../Cats
git remote add remote-alice ../Alice
執行拉取,必須在拉取命令中指定分支 main
git pull remote-alice main
輸出
remote: Enumerating objects: 7, done.
remote: Counting objects: 100% (7/7), done.
remote: Compressing objects: 100% (3/3), done.
remote: Total 4 (delta 1), reused 0 (delta 0), pack-reused 0
Unpacking objects: 100% (4/4), 363 bytes | 363.00 KiB/s, done.
From ../Alice
* branch main -> FETCH_HEAD
* [new branch] main -> remote-alice/main
Updating 0d5e59f..825aab8
Fast-forward
CSS/site.css | 2 +-
1 file changed, 1 insertion(+), 1 deletion(-)
你需要的是不包含工作樹的儲存庫。 與工作樹相比,空儲存庫具有多個優點:
git
帳戶。 每個人都使用安全外殼 (SSH) 加密網路協定,並且使用者通過其公鑰進行區分。)在 Alice 和 Cats 目錄的同一級建立一個名為 Shared.git 的新目錄。
mkdir Shared.git
cd Shared.git
建立空儲存庫:
git init -bare
當儲存庫仍為空時,git checkout
命令不能用於設定預設分支的名稱。 若要完成此任務,可以將 HEAD
分支更改為指向不同的分支;在本例中,它是 main
分支:
git symbolic-ref HEAD refs/heads/main
將儲存庫內容放入共用儲存庫,設定 origin 遠端儲存庫,並執行初始推播。
cd ../Cats
git remote add origin ../Shared.git
git push origin main
輸出
Enumerating objects: 13, done.
Counting objects: 100% (13/13), done.
Delta compression using up to 8 threads
Compressing objects: 100% (9/9), done.
Writing objects: 100% (13/13), 1.14 KiB | 1.14 MiB/s, done.
Total 13 (delta 1), reused 0 (delta 0), pack-reused 0
To ../Shared.git
* [new branch] main -> main
如果希望 push
和 pull
在預設情況下使用 origin
和 main
分支,那你就需要告知 Git 需要跟蹤的分支。
git branch --set-upstream-to origin/main
輸出
Branch 'main' set up to track remote branch 'main' from 'origin'.
讓 Bob 克隆空儲存庫,然後讓 Alice 在其儲存庫中設定元,以將共用記憶卡庫作為推播和拉取的目標。
cd ..
mkdir Bob
cd Bob
克隆共用儲存庫
git clone ../Shared.git .
目前 Alice 的儲存庫設定為從其自身的儲存庫進行推播和拉取,使用以下命令將 Alice 的 origin
指向共用儲存庫。
cd ../Alice
git remote set-url origin ../Shared.git
Bob 準備在網站的頁面底部新增一個頁尾。
cd ../Bob
git config user.name "bob"
git config user.email "[email protected]"
開啟 index.html,並將<hr>
元素替換為此行。
<footer><hr>Copyright (c) 2021 Contoso Cats</footer>
提交更改並推播到遠端源。
git commit -a -m "Put a footer at the bottom of the page"
git push
輸出
Enumerating objects: 5, done.
Counting objects: 100% (5/5), done.
Delta compression using up to 8 threads
Compressing objects: 100% (3/3), done.
Writing objects: 100% (3/3), 379 bytes | 379.00 KiB/s, done.
Total 3 (delta 1), reused 0 (delta 0), pack-reused 0
To /Users/entercoder/Desktop/bob/../Shared.git
825aab8..6594c56 main -> main
Alice 決定在頁面上新增導航欄。
cd ../Alice
code index.html
code CSS/site.css
<nav><a href="./index.html">home</a></nav>
nav { background-color: #C0D8DF; }
Alice 在進行提交前應該拉取 bob 的更改。
git pull
輸出
remote: Enumerating objects: 5, done.
remote: Counting objects: 100% (5/5), done.
remote: Compressing objects: 100% (3/3), done.
remote: Total 3 (delta 1), reused 0 (delta 0), pack-reused 0
Unpacking objects: 100% (3/3), 359 bytes | 359.00 KiB/s, done.
From ../Shared
825aab8..6594c56 main -> origin/main
Updating 825aab8..6594c56
error: Your local changes to the following files would be overwritten by merge:
index.html
Please commit your changes or stash them before you merge.
Aborting
使用 git diff 檢視 bob 對 index.html 所做的修改。
git diff origin -- index.html
在嘗試拉取之前應該儲藏或提交更改。拉取到一個髒的工作樹是有風險的,它會執行一些你不容易恢復的操作。
git stash
通過執行一些臨時提交來儲存工作樹和索引的狀態。 將儲藏視為在執行其他操作時儲存當前工作的一種方法,而不會做出「真正的」提交或影響儲存庫歷史記錄。
git stash push
# 彈出儲藏
git stash pop
提交更改到共用儲存庫中。
git push
返回專案目錄執行拉取操作。
cd ../Cats
git pull
bob 的儲存庫也要同步更新保持最新的狀態。
git pull
mkdir Shared.git
cd Shared.git
git init --bare
git symbolic-ref HEAD refs/heads/main
為 Bob 克隆共用儲存庫
cd ..
mkdir bob
git clone ../Shared.git .
git config user.name bob
git config user.email [email protected]
git symbolic-ref HEAD refs/heads/main
新增基本檔案
touch index.html
mkdir Assets
touch Assets/site.css
git add .
git commit -m "Create empty index.html and site.css file"
code index.html
code Assets/site.css
git add .
git commit -m "Add simple HTML and stylesheet"
git push --set-upstream origin main
<!DOCTYPE html>
<html>
<head>
<meta charset='UTF-8'>
<title>Our Feline Friends</title>
<link rel="stylesheet" href="CSS/site.css">
</head>
<body>
<nav><a href="./index.html">home</a></nav>
<h1>Our Feline Friends</h1>
<p>Eventually we will put cat pictures here.</p>
<footer><hr>Copyright (c) 2021 Contoso Cats</footer>
</body>
</html>
h1, h2, h3, h4, h5, h6 { font-family: sans-serif; }
body { font-family: serif; background-color: #F0FFF8; }
nav, footer { background-color: #C0D8DF; }
輸出
Enumerating objects: 9, done.
Counting objects: 100% (9/9), done.
Delta compression using up to 8 threads
Compressing objects: 100% (6/6), done.
Writing objects: 100% (9/9), 952 bytes | 952.00 KiB/s, done.
Total 9 (delta 0), reused 0 (delta 0), pack-reused 0
To /Users/entercoder/bob/../Shared.git
* [new branch] main -> main
Branch 'main' set up to track remote branch 'main' from 'origin'.
Alice 建立了一個 add-style 的主題分支以完成工作。
cd ..
mkdir Alice
cd Alice
git clone ../Shared.git .
git config user.name alice
git config user.email [email protected]
git branch add-style
git checkout add-style
開啟 site.css,新增以下程式碼。
.cat { max-width: 40%; padding: 5 }
儲存檔案並提交。
git commit -a -m "Add style for cat pictures"
Alice將更改推播到共用儲存庫。
git checkout main
git pull
輸出顯式 main
分支是最新的。因此 Alice 通過執行 git merge --ff-only
執行快速合併來向 add-style
分支合併到 main
分支。然後將 main
從其儲存庫推播到共用儲存庫。
git merge --ff-only add-style
git push
輸出
Updating ba17c91..592b108
Fast-forward
Assets/site.css | 3 ++-
Enumerating objects: 7, done.
Counting objects: 100% (7/7), done.
Delta compression using up to 8 threads
Compressing objects: 100% (3/3), done.
Writing objects: 100% (4/4), 391 bytes | 391.00 KiB/s, done.
Total 4 (delta 1), reused 0 (delta 0), pack-reused 0
To /Users/entercoder/alice/../Shared.git
ba17c91..592b108 main -> main
返回 Bob 目錄,建立 add-cat 分支。
cd ../bob
git checkout -b add-cat
下載網站資源並將 bobcat2 圖片移動到 Assets 目錄,並刪除其他檔案。
wget https://github.com/MicrosoftDocs/mslearn-branch-merge-git/raw/main/git-resources.zip
unzip git-resources.zip
mv bobcat2-317x240.jpg Assets/bobcat2-317x240.jpg
rm git-resources.zip
rm bombay-cat-180x240.jpg
修改 index.html並將顯示「Eventually we will put cat pictures here」的行替換為以下行:
<img src="Assets/bobcat2-317x240.jpg" />
儲存檔案並更改。
git add .
git commit -a -m "Add picture of Bob's cat"
現在執行與 Alice 前面執行的操作相同。
git checkout main
git pull
輸出表示共用儲存庫中的 main 分支已進行過更改。並且已經與 bob 的儲存庫的 main 分支合併。
remote: Enumerating objects: 7, done.
remote: Counting objects: 100% (7/7), done.
remote: Compressing objects: 100% (3/3), done.
remote: Total 4 (delta 1), reused 0 (delta 0), pack-reused 0
Unpacking objects: 100% (4/4), 371 bytes | 185.00 KiB/s, done.
From /Users/entercoder/bob/../Shared
ba17c91..592b108 main -> origin/main
Updating ba17c91..592b108
Fast-forward
Assets/site.css | 3 ++-
1 file changed, 2 insertions(+), 1 deletion(-)
接下來將其他分支合併到 main
分支,然後將自己儲存庫的 main
分支推播到共用儲存庫的 main
分支。
git merge add-cat --no-edit
git push
切換到 Alice 目錄下,使用 git pull 從共用儲存庫拉取最新版本。
cd ../alice
git pull
為 alice 和 bob 分別建立一個分支,並同時進行修改。
git checkout -b add-cat
cd ../bob
git checkout -b style-cat
cd ../alice
wget https://github.com/MicrosoftDocs/mslearn-branch-merge-git/raw/main/git-resources.zip
unzip git-resources.zip
mv bombay-cat-180x240.jpg Assets/bombay-cat-180x240.jpg
rm git-resources.zip
rm bobcat2-317x240.jpg
開啟 index.html,將 bob 的圖片替換為 alice 的圖片。
code index.html
<img class="cat" src="Assets/bombay-cat-180x240.jpg" />
alice 提交更改並將 add-cat
分支合併到 main
分支,並推播到儲存庫中。
git add Assets
git commit -a -m "Add picture of Alice's cat"
git checkout main
git pull
git merge --ff-only-add-cat
git push
開啟 bob 的目錄,將 class="cat"
屬性新增到<img>
元素
<img class="cat" src="Assets/bobcat2-317x240.jpg" />
儲存提交,切換到 main 分支,執行 git pull,然後合併樣式更改。
git commit -a -m "Style Bob's cat"
git checkout main
git pull
git merge style-cat
輸出顯示合併衝突了,兩個人更改了同一行。
Auto-merging index.html
CONFLICT (content): Merge conflict in index.html
Removing Assets/bobcat2-317x240.jpg
Automatic merge failed; fix conflicts and then commit the result.
此時 Bob 有幾種選擇。 Bob 可以執行下列操作之一:
git merge --abort
命令將 main
分支還原到它嘗試合併之前分支所處於的狀態。 執行 git pull
命令獲取 Alice 做出的更改。 然後,建立一個新分支,完成更改,並將其分支合併到main
分支中。 最後,推播其更改。git reset --hard
命令返回到他們啟動合併之前的狀態。<!DOCTYPE html>
<html>
<head>
<meta charset='UTF-8'>
<title>Our Feline Friends</title>
<link rel="stylesheet" href="CSS/site.css">
</head>
<body>
<nav><a href="./index.html">home</a></nav>
<h1>Our Feline Friends</h1>
<<<<<<< HEAD
<img class="cat" src="Assets/bobcat2-317x240.jpg" />
=======
<img class="cat" src="Assets/bombay-cat-180x240.jpg" />
>>>>>>> 139f75ab70619612b1f597f72d949d0ec1955d79
<footer><hr>Copyright (c) 2021 Contoso Cats</footer>
</body>
</html>
Git 使用特殊格式來幫助你識別和解決衝突:左尖括號
<<<<<<<
、雙短劃線(等於號)=======
和右尖括號>>>>>>>
。 短劃線=======
上方的內容顯示你的分支中的更改。 分隔符下面的內容顯示你嘗試合併到的分支中相應內容的版本。
我們通過編輯「index.html」檔案來解決此合併衝突。 由於此合併衝突可快速修復,因此你可直接在main
分支中進行更改。
刪除特殊的格式設定行,保留兩個圖片。
<<<<<<< HEAD
=======
>>>>>>> style-cat
執行一下命令提交更改。並推播到遠端 main
分支。
git add index.html
git commit -a -m "Style Bob's cat"
git push
將更改同步到 alice 的儲存庫。
cd ../alice
git pull
本文來自部落格園,作者:Solita1y,轉載請註明原文連結:https://www.cnblogs.com/solita1y/p/17154622.html