Administrator@USER-20200307HH MINGW64 /f/Git (master)
$ git branch
* master
Administrator@USER-20200307HH MINGW64 /f/Git (master)
$ git checkout -b dev
Switched to a new branch 'dev'
Administrator@USER-20200307HH MINGW64 /f/Git (dev)
$ git add box.txt------------------------------------------------------》內容是“”quick AND simple“”
Administrator@USER-20200307HH MINGW64 /f/Git (dev)
$ git commit -m"branchtest"
[dev 00330dd] branchtest
2 files changed, 2 insertions(+)
create mode 100644 box.txt
create mode 160000 test
Administrator@USER-20200307HH MINGW64 /f/Git (dev)
$ git switch master
warning: unable to rmdir 'test': Directory not empty
Switched to branch 'master'
Your branch is up to date with 'origin/master'. 文件情況如下:工作區里面有一個test文件夾,不能被刪,因為不是空文件夾
Administrator@USER-20200307HH MINGW64 /f/Git (master)
$ git switch dev
Switched to branch 'dev'------------------------------------------------------------------》現在切到dev,這個box.txt又回來了
Administrator@USER-20200307HH MINGW64 /f/Git (dev)
$ git switch master--------------------------------------------------------------------------》又切換回master,box.txt又不見了
warning: unable to rmdir 'test': Directory not empty
Switched to branch 'master'
Your branch is up to date with 'origin/master'.
然后我莫名的刪了一個測試建的遠程庫:
Administrator@USER-20200307HH MINGW64 /f/Git (master)
$ git remote rm origin
Administrator@USER-20200307HH MINGW64 /f/Git (master)
$ git remote-------------------------------------------------------------------------------------》unix的哲學,沒有消息就是最好的消息
Administrator@USER-20200307HH MINGW64 /f/Git (master)
$ git push origin master
fatal: 'origin' does not appear to be a git repository
fatal: Could not read from remote repository.
Please make sure you have the correct access rights
and the repository exists.
Administrator@USER-20200307HH MINGW64 /f/Git (master)
$ git switch dev
Switched to branch 'dev'.................................結果如下:
所以結論是在哪個分支就只看得到當前分支及其之前提交點的文件問題一解決!
我們這個實驗是解決標題所示的問題2的,所以如下繼續:
所以如上,我切換之后master上邊沒有box,我修改個xx???
所以現在電腦說的話我懂了
Administrator@USER-20200307HH MINGW64 /f/Git (dev)
$ git switch master
warning: unable to rmdir 'test': Directory not empty-----------------------------------------------------------------------------------》即:每次切換的時候,是把當前分支文件夾刪除??!!!
Switched to branch 'master'
那我就從了你吧我干了這件事:
Administrator@USER-20200307HH MINGW64 /f/Git (master)
$ rm -rf test
master下面test文件夾確實沒有在了
但是我又回來
Administrator@USER-20200307HH MINGW64 /f/Git (master)
$ git switch dev
Switched to branch 'dev'發現如下:
test在dev分支下又出現了!!!!而且里面變空了:
現在切回master,他也不bibi什么test沒法刪了。但box.txt還是沒有(那我完成個xx的問題2???!!!)
所以調轉方向:刪除以上所有操作,並在master里面建設bbb.txt。去新建的分支里面更改沖突
Administrator@USER-20200307HH MINGW64 /f/Git (master)
$ git switch -c dev1
Switched to a new branch 'dev1'
這下里面還是有bbb了:(但這是建立在我沒有在master上gitadd和git commit基礎上的)
果不其然我回master一趟一氣呵成(commit)之后,再回來,bbb.txt又不見了
。。。。。。。。。。。。。。。。。。。。。。。。。。。。。。。。。。。。。。。。。。。。。。。。。。。。放棄了
Hold on!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!
畫一畫圖
我們或許不像教程上那樣
但我們可以在 1.先創建一個dev1分支
2.在master上我們創建bbb.txt文件
3.因為master跑得快所以切換到新建分支並git merge master
這樣兩個分支都有了,自己畫一下圖
現在就可以更改提交dev1上的bbb了(改為小寫and)
並在master上改為&並提交
現在想要merge兩個分叉分支:
Administrator@USER-20200307HH MINGW64 /f/Git (master)
$ git merge dev1 ---------------------------------------------------------------------》合並指定分支到當前位置
Auto-merging bbb.txt
CONFLICT (content): Merge conflict in bbb.txt
Automatic merge failed; fix conflicts and then commit the result.--------------------------------------------------〉想要的沖突出現
現在情況如圖:
我知道把master的改成AND HUOZHE and 沖突會消失
但我想知道的是問題二(一個&的原因???)
所以我把dev1上修改提交為AND
Administrator@USER-20200307HH MINGW64 /f/Git (master|MERGING) $ git switch dev1 fatal: cannot switch branch while merging Consider "git merge --quit" or "git worktree add".
(才發現可以這樣搞)
所以我退出,我退出
但是還是沒法
Administrator@USER-20200307HH MINGW64 /f/Git (master) $ git switch dev1 error: you need to resolve your current index first bbb.txt: needs merge
所以我又回到最初的起點
只有辦法進行改正master的&
但一打開文件。。。。。。
修改如圖並提交
結果
Administrator@USER-20200307HH MINGW64 /f/Git (master) $ git merge dev1 Auto-merging bbb.txt CONFLICT (content): Merge conflict in bbb.txt Automatic merge failed; fix conflicts and then commit the result.
現在情況如圖
所以我只有把AND 改為and了並提交(教程到底怎么回事啊!!!!!!!!!!)
再來
Administrator@USER-20200307HH MINGW64 /f/Git (master)
$ git merge dev1
Already up to date.
。。。。。。。。。。所以必須長一樣嗎?怎么和教程不一樣??
不過,我學會了在博客里面插入代碼比較美觀
2020/5/6學了羌笛那天。開學遙遙無期