这可能是非常基本的,但我还没能弄明白:
我有一个PHP项目运行在两个服务器上,我们将它们分别称为Live
和Staging
显然,两个服务器运行的是同一个项目,但有一些变化。
这个项目在我手上的时候还不在Github上,所以这就是我现在首先要做的。
我设法在Github上创建了一个新的远程存储库,并将Live
系统连接到它。
(by将Github存储库添加为Live
上的“原点”)git remote add origin https://github.com/path-to-repo/repo.git
因此,实时系统当前位于master
分支上,并且最新为origin/master
,该分支具有4次提交的历史记录。
现在我也尝试在Staging
上连接Github Repo
所以我做了
git init
git remote add origin https://github.com/path-to-repo/repo.git
git remote -v
origin https://github.com/path-to-repo/repo.git (fetch)
origin https://github.com/path-to-repo/repo.git (push)
git fetch
现在,当我执行git status时,我看到repo仍然处于初始提交状态,所有文件和文件夹都显示为untracked:
root@staging-host:/var/www/html# git status
On branch master
Initial commit
Untracked files: (use "git add <file>..." to include in what will be
committed)
.htaccess
README.md
_index.html
api/
app/
composer.json
global/
index.php
package-lock.json
package.json
phpinfo.php
system/
vendor/
view/
如何检查与origin/master
中上次提交相比的本地更改
我不希望丢失任何本地更改,但也不希望提交或推送任何内容
我需要先检查差异,然后才能逐个文件地决定要提交哪些内容和要重置哪些内容
3条答案
按热度按时间xmq68pz91#
你的方法几乎是正确的。看看你的命令:
这将尝试添加一个远程存储库作为源,但失败了,因为它已经存在。
跑
你会看到这是你的实时回购。换个名字,比如
然后它应该工作。如果原点是活动的,分段是分段,那么拉,推到分段如下:
以及
如果我是您,我会选择origin而不是staging,另一个名为live的远程将指向live,因为您将更频繁地使用staging。
编辑
显然我误解了这个问题。基本上有一个由GitHub托管的repo,你也想用它来暂存。你不需要运行
在这种情况下也不需要添加远程数据库。您只需要克隆存储库,如下所示
yhqotfr82#
也许有更好的方法,但这应该工作。
git add .
git commit -m 'tmp'
git diff HEAD origin/master
git reset --soft HEAD~1
你可以重置你为检查差异而做的提交
lmyy7pcs3#
如果您有一个本地存储库和一个远程存储库,您只需设置远程url:
示例: