我正在library_backend
项目上工作,它是git仓库,有2个分支:
我在multilanguage
分支中进行了一些更改,并将其推送到其远程分支,之后,我想检查master
分支上的某些功能。
因此,我已切换到master
分支,并在检查后已切换回multilanguage
分支,但现在 它已修改了文件 ,即books_model.php
,如果我在几秒钟前将其推送,该如何修改文件?
按如下所示,您可以看到我在完成远程分支后所做的事情:
ABC@ABC-PC MINGW64 /c/xampp/htdocs/library_backend (multilanguage)
$ git checkout master
Switched to branch 'master'
M application/models/api_model/books_model.php
Your branch and 'origin/master' have diverged,
and have 4 and 10 different commits each, respectively.
(use "git pull" to merge the remote branch into yours)
ABC@ABC-PC MINGW64 /c/xampp/htdocs/library_backend (master)
$ git checkout multilanguage
Switched to branch 'multilanguage'
ABC@ABC-PC MINGW64 /c/xampp/htdocs/library_backend (multilanguage)
$ git status
On branch multilanguage
Changes not staged for commit:
(use "git add <file>..." to update what will be committed)
(use "git checkout -- <file>..." to discard changes in working directory)
modified: application/models/api_model/books_model.php
no changes added to commit (use "git add" and/or "git commit -a")
答案 0 :(得分:0)
此更改很可能已经就位,并且您仅推送了包含其他更改的提交。如果您在本地master分支上没有误更改此文件,当然可以这样做。
答案 1 :(得分:0)
您可以通过以下命令查看修改后的文件中发生的更改。
$ git diff application / models / api_model / books_model.php
这将为修改后的代码生成绿色和红色的结果。
红色表示已从文件中删除代码。
绿色表示已添加的代码。
如果您可以在此命令的结果中以绿色看到在此处所做的更改,则应转到分支“多语言”并再次添加,提交和推送该文件。
如果看不到对文件所做的更改或不想提交,则可以通过检出到同一分支“多语言”并触发此命令来还原更改。
$ git checkout application / models / api_model / books_model.php
希望它对您有帮助!
答案 2 :(得分:0)
虽然该问题不易重现,但您应该测试新的实验性命令git switch
(仅适用于Git 2.23 +,2019年第三季度):使用选项放弃更改,它不太容易受到自动更改的影响:
git switch -f multilanguage