git add [some files] # add [some files] to staging area
git add [some more files] # add [some more files] to staging area
git commit # commit [some files] and [some more files]
型 如果你想让这个提交在两个分支上都可用,你可以这么做
git stash # remove all changes from HEAD and save them somewhere else
git checkout <other-project> # change branches
git cherry-pick <commit-id> # pick a commit from ANY branch and apply it to the current
git checkout <first-project> # change to the other branch
git stash pop # restore all changes again
$ git status
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: file1
modified: file2
modified: file3
modified: file4
字符串
将文件添加到暂存
$ git add file1 file2
型
检查您正在提交的内容
$ git status
Changes to be committed:
(use "git reset HEAD <file>..." to unstage)
modified: file1
modified: file2
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: file3
modified: file4
8条答案
按热度按时间b1payxdu1#
我假设您希望将更改提交到一个分支,然后使这些更改在另一个分支中可见。在git中,当你改变分支时,HEAD的顶部应该没有变化。
您可以通过以下方式仅提交已更改的文件:
字符串
或者如果你确定你有一个干净的集结地,你可以
型
如果你想让这个提交在两个分支上都可用,你可以这么做
型
s3fp2yjn2#
获取要提交的文件列表
字符串
将文件添加到暂存
型
检查您正在提交的内容
型
提交文件,并发送提交消息
型
如果不小心提交了错误的文件
型
如果要取消暂存文件并重新开始
型
wmtdaxz33#
你可以提交一些更新的文件,像这样:
字符串
qzlgjiam4#
假设您对多个文件进行了更改,例如:
但是您只想提交File 1和File 3的更改。
有两种方法可以做到这一点:
1.仅暂存这两个文件,使用:
字符串
然后,提交
型
然后推,
型
2.直接提交
型
然后推,
型
实际上,第一种方法是有用的,如果我们定期修改文件并暂存它们-->大型项目,通常是Live项目。
但是如果我们修改文件而不是暂存它们,那么我们可以直接提交-->小项目
6jjcrrmo5#
其中一些似乎“不完整”
一群人不会知道他们是否应该使用引号等。
添加1个显示位置路径的特定文件
字符串
提交(请记住,提交仅在本地进行,不会影响任何其他系统)
型
推送到远程存储库
型
其他答案显示藏匿等。有时候你会想这么做
vaqhlq816#
如果您已经暂存了文件,只需取消暂存它们:
字符串
然后把它们一点一点地加回去。
7gs2gvoe7#
你也可以使用命令行:
字符串
这允许您逐个查看所有未提交的文件,并选择是否要提交它们。
然后你有一些选项,将出现在每一个修改:我用“y”表示“是的,我想添加这个文件”,用“n”表示“不,我稍后会提交这个文件”。
型
至于其他选项是(q,a,d,K,g,f,e,?),我不确定他们做什么,但我猜“?“如果你需要深入了解细节的话可能会对你有所帮助
这样做的好处是,你可以推动你的工作,然后创建一个新的分支,所有未提交的工作将跟随你在这个新分支上。如果你已经编写了很多不同的东西,并且你真的想在推送之前在github上重新组织你的工作,这是非常有用的。
希望这有帮助,我没有看到它说以前(如果它被提到,我的坏)
xfb7svmp8#
这是一个简单的方法,如果你没有太多的代码更改:
字符串
然后,如果你想在一个单独的提交或另一个分支中删除你删除的代码(你没有提交的位),那么当仍然在这个分支上时:
型
在步骤5中,由于您已经应用了stash并提交了您在步骤4中确实想要的代码,因此新应用的stash中的diff和未跟踪的代码只是您在步骤4中提交之前在步骤3中删除的代码。
因此,第6步是您不想提交的代码的一个隐藏,因为您可能真的不想丢失这些更改,对吗?所以步骤6中的新stash现在可以通过在正确的分支上执行git stash apply并提交来提交到这个分支或任何其他分支。
显然,这假设你在一个流中执行这些步骤,如果你在这些步骤中的任何其他点进行stash,你需要注意上面每个步骤的stash引用(而不仅仅是基本的stash和应用最新的stash)。