Git 一切都是最新的(一切都是';t)

Git 一切都是最新的(一切都是';t),git,github,Git,Github,所以,我一整天都在努力让我的临时分支工作,但我错过了一些东西 这是一系列事件: git branch develop *master staging 做些改变 git checkout staging M app/views/comments/index.html.erb M app/views/devise/registrations/new.html.erb M app/views/devise/sessions/new.html.erb M app/views/layo

所以,我一整天都在努力让我的临时分支工作,但我错过了一些东西

这是一系列事件:

git branch 
develop
*master
staging
做些改变

git checkout staging
M   app/views/comments/index.html.erb
M   app/views/devise/registrations/new.html.erb
M   app/views/devise/sessions/new.html.erb
M   app/views/layouts/application.html.erb
M   app/views/songs/contact.html.erb
M   app/views/songs/faq.html.erb
M   app/views/songs/index.html.erb
M   app/views/songs/new.html.erb
M   app/views/songs/new_songs.html.erb
Switched to branch 'staging'

git gui (git commit and then git push staging)
git checkout master
git push staging master (deployment)

Everything up-to-date
并非所有内容都是最新的,我只做了10个我希望在我的暂存服务器上看到的更改


如何才能使此工作正常?

您的工作流中缺少一个关键步骤:在提交更改之前添加更改

在使用
git commit
之前,运行
git add-A
将工作目录中的所有文件添加到git repo。或者,您可以使用
git add
添加特定文件,或者使用
git commit-a
添加对git repo的所有修改。但是请注意,
git commit-a
不会添加新文件,它只会添加您对先前存在的文件所做的更改


如果您想查看您的位置,请键入
git status
。红色文件已更改、未老化(“暂存”更改相当于“添加”更改),而绿色文件已添加。如果
git status
显示“工作目录清理”,则自上次提交以来,您没有进行任何更改。

请确保经常使用
git status
(或
git status--short
)。 无论何时显示更改,您都必须决定是否保留它们。然后你就把它们交出来或者扔掉之后,
git status
又高兴了。 建立一个有意义的团队通常是非常有帮助的

如果没有干净的
git状态
,请勿更改分支。(这只是因为两个分支几乎相等才起作用。)

主要的问题似乎是你的压力
git-push
要求您指定一个远程(通常称为
origin
)。如果您真的想将本地staging分支的内容推送到远程主机,您可以通过git push origin staging:master来实现,但这肯定会使事情变得更加复杂

您有两种选择:要么只使用一个主分支,要么使用另一个临时分支

  • 使用“仅主机”,您可以从创建(或更新)本地主机的远程主机获取更改。然后在本地主机上执行提交,完成后将本地主机推回到远程主机,远程主机将部署本地主机
  • 使用单独的暂存分支,您可以在暂存分支上进行更改,将本地暂存分支推送到远程暂存分支,您可以将其部署到某种暂存区域。如果您对结果感到满意,您可以
    将登台分支合并到主分支,并立即推送包含所有登台更改的结果主分支

  • 为什么您的
    git签出
    输出看起来像
    git状态
    ?您能否在命令行中执行
    git gui
    操作,让我们确切了解您在做什么?对于推送,您确定您有一个名为
    staging
    的远程设备,并且您想将您的本地主分支推送到它吗?我很困惑。
    staging
    是远程的还是分支?您似乎在同时使用它…@michas当您跟踪工作目录中的更改时,
    git checkout
    就是这个样子。@Ajedi32 git不应该拒绝更改未提交更改的分支吗?在这种情况下我该怎么办?