我有一些文件在git中未被跟踪。我做了一些更改并想提交它们,但意识到我忘记先checkin未修改的文件。所以我stash了文件,然后添加了未修改的版本。然后,当我将存储应用到存储库时,由于文件已经添加,我遇到了冲突。我如何应用存储,并强制优先使用存储中的版本而不是存储库中的原始版本?谢谢 最佳答案 使用gitcheckout而不是gitstashapply.警告:下面的命令会将当前目录(.)中的所有文件恢复到它们的stash版本。如果您有未提交或未暂存的更改,它们将永久丢失:如果您在创建存储后编辑了文件,这些更改将会丢失。如果您只s
我有一些文件在git中未被跟踪。我做了一些更改并想提交它们,但意识到我忘记先checkin未修改的文件。所以我stash了文件,然后添加了未修改的版本。然后,当我将存储应用到存储库时,由于文件已经添加,我遇到了冲突。我如何应用存储,并强制优先使用存储中的版本而不是存储库中的原始版本?谢谢 最佳答案 使用gitcheckout而不是gitstashapply.警告:下面的命令会将当前目录(.)中的所有文件恢复到它们的stash版本。如果您有未提交或未暂存的更改,它们将永久丢失:如果您在创建存储后编辑了文件,这些更改将会丢失。如果您只s
我stash了我的更改。现在我只想从存储中取消存储一些文件。我该怎么做? 最佳答案 作为mentionedbelow,详见“HowwouldIextractasinglefile(orchangestoafile)fromagitstash?”,您可以申请使用gitcheckout或gitshow恢复特定文件。gitcheckoutstash@{0}--使用Git2.23+(2019年8月),使用gitrestore,它取代了confusinggitcheckoutcommand:gitrestore--source=stash@{
我stash了我的更改。现在我只想从存储中取消存储一些文件。我该怎么做? 最佳答案 作为mentionedbelow,详见“HowwouldIextractasinglefile(orchangestoafile)fromagitstash?”,您可以申请使用gitcheckout或gitshow恢复特定文件。gitcheckoutstash@{0}--使用Git2.23+(2019年8月),使用gitrestore,它取代了confusinggitcheckoutcommand:gitrestore--source=stash@{
这经常发生在我身上:我写了一些代码,去检查我的更改,然后意识到我不在正确的分支中检查这些更改。但是,如果不还原我的更改,我就无法切换到另一个分支。有没有办法将更改移动到另一个分支以在那里进行检查? 最佳答案 gitstash是你的friend。如果您还没有提交,只需运行gitstash.这将保存您的所有更改。切换到你想要更改的分支并运行gitstashpop.gitstash有很多用途。这当然是更有用的原因之一。一个例子:#workonsomecodegitstashgitcheckoutcorrect-branchgitstash
这经常发生在我身上:我写了一些代码,去检查我的更改,然后意识到我不在正确的分支中检查这些更改。但是,如果不还原我的更改,我就无法切换到另一个分支。有没有办法将更改移动到另一个分支以在那里进行检查? 最佳答案 gitstash是你的friend。如果您还没有提交,只需运行gitstash.这将保存您的所有更改。切换到你想要更改的分支并运行gitstashpop.gitstash有很多用途。这当然是更有用的原因之一。一个例子:#workonsomecodegitstashgitcheckoutcorrect-branchgitstash
作为askedinthisquestion,我还想知道如何解决冲突的gitstashpop而无需将所有修改添加到提交(就像没有冲突的“gitstashpop”一样)。我目前的做法很不酷,因为我是这样做的:gitstashpop#->CONFLICTgitstashdrop#[resolveconflict]#[addconflictfiles]gitresetHEAD#如何重现:mkdirfoo;cdfoo;gitinitecho"1">oneecho"2">twogitadd-A;gitcommit-m"first"echo"1.1">oneecho"2.1">twogitstash
作为askedinthisquestion,我还想知道如何解决冲突的gitstashpop而无需将所有修改添加到提交(就像没有冲突的“gitstashpop”一样)。我目前的做法很不酷,因为我是这样做的:gitstashpop#->CONFLICTgitstashdrop#[resolveconflict]#[addconflictfiles]gitresetHEAD#如何重现:mkdirfoo;cdfoo;gitinitecho"1">oneecho"2">twogitadd-A;gitcommit-m"first"echo"1.1">oneecho"2.1">twogitstash
Gitstash似乎做了很多我想做的事情,除了它有点难以编写脚本,因为如果你没有改变,那么gitstash;gitstashpop将做一些与您在存储库中进行更改时不同的事情。gitstashcreate似乎是该问题的答案,一切正常,除了一件事……我无法摆脱创建的存储。有什么办法可以摆脱stash吗?为了100%清楚我在做什么:创建存储:~/tmp/a(master)$gitstashcreate60629375d0eb12348f9d31933dd348ad0f038435~/tmp/a(master)$gitst#Onbranchmaster#Changestobecommitted
Gitstash似乎做了很多我想做的事情,除了它有点难以编写脚本,因为如果你没有改变,那么gitstash;gitstashpop将做一些与您在存储库中进行更改时不同的事情。gitstashcreate似乎是该问题的答案,一切正常,除了一件事……我无法摆脱创建的存储。有什么办法可以摆脱stash吗?为了100%清楚我在做什么:创建存储:~/tmp/a(master)$gitstashcreate60629375d0eb12348f9d31933dd348ad0f038435~/tmp/a(master)$gitst#Onbranchmaster#Changestobecommitted