据我了解GIT,当我在提交时签出时,我应该将其文件复制到我的工作目录中,但是不应该出现新的提交。虽然当我在提交时使用EGit和checkout时,我在reflog中看到了新的提交。为什么?据我所知,checkout不应该创建新的提交。正确?
在这里,我右键单击提交并选择结帐
然后我在reflog中获得新提交:
所以现在我的本地主人很少提交,但我从未要求他们这样做。
Eclipse的Git集成 - 以任务为中心的界面 4.6.1.201703071140-r org.eclipse.egit.mylyn.feature.group Eclipse EGit
答案 0 :(得分:2)
您在reflog中看不到新的提交。你看到的是HEAD的更新位置。您在签出时将其更改为提交import random
attempts = 0
secret_number = random.randint(1,100)
isCorrect = False
guess = int(input("Take a guess: "))
while secret_number != guess:
if guess < secret_number:
print("Higher...")
guess = int(input("Take a guess: "))
attempts+= 1
elif guess > secret_number:
print("Lower...")
guess = int(input("Take a guess: "))
attempts+= 1
else:
print("\nYou guessed it! The number was " ,secret_number)
。当您签出另一个提交,分支或标记时,您将看到另一个条目出现在reflog中。
尝试重复切换两个分支,你会看到同样的两个提交哈希值一次又一次地附加到reflog。这并不意味着您正在创建新的提交。您只是看到现有提交被记录为4b0d96a
指针指向的最近提交。
此命令管理reflog中记录的信息。
“show”子命令(在没有任何子命令的情况下也是默认命令)显示命令行中提供的引用的日志(或默认情况下为
HEAD
)。 reflog包含所有最近的操作,此外HEAD
reflog记录分支切换。HEAD
是git reflog show
的别名,请参阅git-log
以获取更多信息。
您可能还会发现此chapter of the Pro Git book有趣。它提供了对git log -g --abbrev-commit --pretty=oneline;
所做内容的更易理解的描述。
答案 1 :(得分:2)
您必须使用历史视图而不是使用 Git Reflog 视图(请参阅git reflog和{{3详情):