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不应该拒绝更改未提交更改的分支吗?在这种情况下我该怎么办?