输入我的问题:当我用SSH连接到我的网站所在的Linux web服务器时,我如何执行git pull-origin开发,以便git不会删除我的整个WordPress站点,而只将其替换为repo中的文件夹/文件?
git pull origin dev
git pull
不会擦除或替换未跟踪的文件。
但是,任何存储库都可以,因此让我们执行以下操作:
将存储库克隆到文件夹中在该文件夹中创建未跟踪的文件运行git pull
如果正确,则将删除未跟踪的文件。
结果如下:
~
❯ cd /tmp
/tmp
❯ git clone https://github.com/KalobTaulien/example-repo
Cloning into \'example-repo\'...
remote: Enumerating objects: 6, done.
remote: Counting objects: 100% (6/6), done.
remote: Compressing objects: 100% (4/4), done.
remote: Total 18 (delta 1), reused 1 (delta 0), pack-reused 12
Receiving objects: 100% (18/18), done.
Resolving deltas: 100% (3/3), done.
/tmp
❯ cd example-repo/
/tmp/example-repo ᚴ:master
❯ touch test.txt
/tmp/example-repo ᚴ:master
❯ ls
README.md test.txt
/tmp/example-repo ᚴ:master
❯ git status
On branch master
Your branch is up to date with \'origin/master\'.
Untracked files:
(use "git add <file>..." to include in what will be committed)
test.txt
nothing added to commit but untracked files present (use "git add" to track)
/tmp/example-repo ᚴ:master
❯ git pull origin master
From https://github.com/KalobTaulien/example-repo
* branch master -> FETCH_HEAD
Already up to date.
/tmp/example-repo ᚴ:master
❯ ls
README.md test.txt
As you can see, test.txt
was not erased.总之,如何在不删除git未在同一文件夹中跟踪的文件和文件夹的情况下下拉文件?git pull
. git pull
不擦除未跟踪的文件和文件夹git
.
你的理论是git pull
责任不正确。
为什么
git pull
是这些命令的简写:
git fetch
git merge FETCH_HEAD
这些命令都不会触及未跟踪的文件。
fetch
检索有关远程分支的信息。
merge
将新提交应用于当前工作目录。
至于您的WordPress文件和文件夹被删除的原因,我们没有足够的信息来重现问题或诊断原因。能够看到git repo本身以及使用的所有命令,可能有助于诊断问题。
例如,在拉取之前,您的脚本可能会进行硬重置和清理。或者你没有做git pull
实际上,这是一种工具。git存储库也可能有在上运行的脚本挂钩pull
运行您没有告诉我们的其他命令。
然而,这不是WordPress的问题,而是git
问题您应该在堆栈溢出时询问此问题。