[英]failed to git pull same file from specific commit id in local machine?
注意:XXX是本地計算機的用戶名
➜ gittest git init
Initialized empty Git repository in /Users/XXX/Desktop/gittest/.git/
➜ gittest git:(master) echo "hello" > 1.md
➜ gittest git:(master) ✗ git add 1.md
➜ gittest git:(master) ✗ git commit -m"hello"
[master (root-commit) ea37549] hello
1 file changed, 1 insertion(+)
create mode 100644 1.md
gittest git:(master) ✗ git push --set-upstream /Users/XXX/Desktop/gittest/.git/ master
Branch 'master' set up to track remote branch 'master' from '/Users/XXX/Desktop/gittest/.git/'.
Everything up-to-date
gittest git:(master) ✗ echo "hello 2" >>1.md # change files
➜ gittest git:(master) ✗ git add 1.md
➜ gittest git:(master) ✗ git commit -m"hello 2"
[master 4593958] hello2
1 file changed, 1 insertion(+)
➜ gittest git:(master) ✗ git push
Everything up-to-date
➜ gittest git:(master) git pull
From /Users/XXX/Desktop/gittest/
* branch master -> FETCH_HEAD
Already up to date.
但是它無法返回最初提交給git push的文件。
你有很多事情混在一起
git init
創建完整的存儲庫,因此git commit
是在該存儲庫中創建修訂的命令。
git push
用於將更改發送到其他存儲庫。 實際上,您只是通過推送創建了對同一存儲庫的自引用。 因此,所有內容都是最新的,因為您正在嘗試更新存儲庫本身。
git pull
用於從其他存儲庫獲取更改,並且默認情況下是git fetch
(更新有關遠程存儲庫的本地知識)和git merge
的快捷方式,以合並嘗試合並當前分支與遠程存儲庫中分支的更新的本地知識。
如果您不想處理遠程存儲庫,請不要使用git pull
和git push
。
四處走動
要移至存儲庫中的特定提交,請使用git checkout
。 但是要注意, git checkout <commit id>
最終將處於分離的HEAD狀態。
聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.