我在我的功能分支中做了一堆未推送的提交,现在想重新排序并部分压缩可视化的提交。我认为解决方案不知何故在于Git交互,但如何调用它?$gitrebase--interactive--onto只是用apopVInoop内容后跟注释信息。退出后,我的头重置为指定的提交。如何正确触发交互式rebase以修改自某个提交以来的提交? 最佳答案 你应该使用gitrebase--interactive哪里应该不是您要重写的第一个提交的sha,而应该是之前提交的sha。如果你的历史是这样的:pick43576eflastcommit...pick51
有人将“新功能”分支推送到共享仓库:gitpush-unew_feature_branch现在,我想在本地计算机上创建该分支的副本以测试新功能。最简单的方法是什么?(我是否需要在checkout之前fetch/pull?) 最佳答案 我通常觉得没有必要使用gitfetch。gitpull就足够了。gitpull会将您的存储库与远程同步。new_feature_branch将可用。gitcheckoutnew_feature_branch将注意到origin中的分支并为您创建一个新的本地跟踪分支并切换到该分支。gitpullgitch
有人将“新功能”分支推送到共享仓库:gitpush-unew_feature_branch现在,我想在本地计算机上创建该分支的副本以测试新功能。最简单的方法是什么?(我是否需要在checkout之前fetch/pull?) 最佳答案 我通常觉得没有必要使用gitfetch。gitpull就足够了。gitpull会将您的存储库与远程同步。new_feature_branch将可用。gitcheckoutnew_feature_branch将注意到origin中的分支并为您创建一个新的本地跟踪分支并切换到该分支。gitpullgitch
在Git分支之间移动时,有时我会忘记我最近所在的分支的名称。如何显示最近checkout的分支/标签/提交的列表按checkout顺序? 最佳答案 总结:您可以使用Git的reflog显示最近的移动按checkout顺序:gitreflog脚本:这是一个脚本,您可以从任何Git存储库中通过gitrecent下载和使用:https://gist.github.com/jordan-brough/48e2803c0ffa6dc2e0bd用法:$(master)gitrecent-n51)master4)deleted-branch2)s
在Git分支之间移动时,有时我会忘记我最近所在的分支的名称。如何显示最近checkout的分支/标签/提交的列表按checkout顺序? 最佳答案 总结:您可以使用Git的reflog显示最近的移动按checkout顺序:gitreflog脚本:这是一个脚本,您可以从任何Git存储库中通过gitrecent下载和使用:https://gist.github.com/jordan-brough/48e2803c0ffa6dc2e0bd用法:$(master)gitrecent-n51)master4)deleted-branch2)s
gitlog显示以下内容:commit1abcd[...]Author:[...]Date:[...][Usefulcommit]commit2abcd[...]Author:[...]Date:[...]Mergebranch[...]of[etc.etc.]commit3abcd[...]Author:[...]Date:[...][Usefulcommit]那个merge提交对我来说没用——它不代表分支的有意义的状态并且是从远程pull生成的,所以我有远程历史的真实提交——不需要提交来标记事实我pull的。我想压缩这个merge提交。我常用的Squash技术是:gitrebase
gitlog显示以下内容:commit1abcd[...]Author:[...]Date:[...][Usefulcommit]commit2abcd[...]Author:[...]Date:[...]Mergebranch[...]of[etc.etc.]commit3abcd[...]Author:[...]Date:[...][Usefulcommit]那个merge提交对我来说没用——它不代表分支的有意义的状态并且是从远程pull生成的,所以我有远程历史的真实提交——不需要提交来标记事实我pull的。我想压缩这个merge提交。我常用的Squash技术是:gitrebase
似乎无法使用GitKrakencheckout提交。如您所见,没有检查旧提交的选项,只有Cherrypickcommit但我不知道这有什么用。编辑:我能够通过控制台使用另一个git程序(gitbash)进行checkout:现在在GitKraken中看起来像这样: 最佳答案 GitKraken(从1.7版开始)似乎没有提供进入分离HEAD模式并直接检查提交的方法。同样,它也不允许您checkout标签(因为这也会给您一个分离的HEAD)。因此,您必须先创建一个(临时)分支,然后才能checkout。
似乎无法使用GitKrakencheckout提交。如您所见,没有检查旧提交的选项,只有Cherrypickcommit但我不知道这有什么用。编辑:我能够通过控制台使用另一个git程序(gitbash)进行checkout:现在在GitKraken中看起来像这样: 最佳答案 GitKraken(从1.7版开始)似乎没有提供进入分离HEAD模式并直接检查提交的方法。同样,它也不允许您checkout标签(因为这也会给您一个分离的HEAD)。因此,您必须先创建一个(临时)分支,然后才能checkout。
我只想checkout没有.git文件和整个存储库的文件。这是因为我想用git管理网站(php和html),我正在寻找一种简单的方法来从存储库更新htdocs文件夹中的文件,而无需公开存储库。(现在它在主目录中,可以通过ssh访问,但我必须手动将新文件放入htdocs。 最佳答案 git-archive联机帮助页包含以下示例:gitarchive--format=tar--prefix=junk/HEAD|(cd/var/tmp/&&tarxf-)Createatararchivethatcontainsthecontentsoft