我在Git中做了一系列提交,现在我意识到我忘记了正确设置我的用户名和用户邮件属性(新机器).我还没有将这些提交推送到我的存储库,所以在我这样做之前如何更正这些提交(只有主分支上的3个最新提交)?
我一直在看git reset和git commit -C <id> --reset-author,但我不认为我是在正确的轨道上.
git rebase在保留提交时间戳的同时执行是否有意义?
我相信结果是新分支不一定按时间顺序排列日期.这在理论上是否可行?(例如使用管道命令;只是好奇这里)
如果理论上可行,那么在实践中是否可以使用rebase,而不是更改时间戳?
例如,假设我有以下树:
master <jun 2010>
|
:
:
: oldbranch <feb 1984>
: /
oldcommit <jan 1984>
Run Code Online (Sandbox Code Playgroud)
现在,如果我重新oldbranch启动master,则提交日期将从1984年2月更改为2010年6月.是否可以更改该行为以便不更改提交时间戳?最后我会得到:
oldbranch <feb 1984>
/
master <jun 2010>
|
:
Run Code Online (Sandbox Code Playgroud)
那会有意义吗?甚至允许在git中有一个旧提交最近提交作为父项的历史记录?
我已经为Github上的一个项目提交了一堆提交,但是我意识到我没有在我正在使用的计算机上设置正确的电子邮件和提交者全名,因此用户的头像和电子邮件地址不在那里.
如何重写所有过去的提交电子邮件和用户名?
上周,我不得不为家庭作业创建一个小GUI.我的同学都没有这样做.他们从我们上传它的地方偷了我的那个,然后他们再次上传它们作为他们的.当我告诉老师这是我的全部工作时他并不相信我.
所以我想把一个无用的方法或其他东西放在我编码的证据中.我想到了加密.到目前为止我最好的主意:
String key = ("ZGV2ZWxvcGVkIGJ5IFdhckdvZE5U"); //My proof in base64
Run Code Online (Sandbox Code Playgroud)
你能想到其他更好的方法吗?
我们的远程主分支不知怎的搞砸了.当前开发代码与最新提交一起在主分支上.显然,开发代码还没有为主分支做好准备.
所以在我的本地存储库中,我重置了最新的标记,git reset --hard (Tag).现在主分支在我的本地存储库上是正确的.现在,当我尝试将更改推送到远程存储库时git push origin master,我收到一个错误:
To (REMOTE GIT REPOSITORY LOCATION)
! [rejected] master -> master (non-fast-forward)
error: failed to push some refs to '(REMOTE GIT REPOSITORY LOCATION)'
To prevent you from losing history, non-fast-forward updates were rejected
Merge the remote changes (e.g. 'git pull') before pushing again. See the
'Note about fast-forwards' section of 'git push --help' for details.
Run Code Online (Sandbox Code Playgroud)
所以环顾四周之后,我发现了这个--force选项.所以我强行推进了远程存储库,git push --force origin master我仍然遇到错误:
Total 0 (delta 0), reused …Run Code Online (Sandbox Code Playgroud) 我正在使用Eclipse的Git插件.我开始输入这些字段时会显示几个作者和提交者.
如何更改此列表,或删除某些作者或提交者?
另外我想设置默认显示的默认作者和提交者.

我是Web开发和GitHub的新手.当我提交任何更改时,这些更改会反映在我的GitHub仓库"未知(作者)"下.如何更改此项以反映我的姓名/电子邮件地址?
谢谢.
我在git中有以下消息:
# Your branch and 'origin/master' have diverged,
# and have 3 and 8 different commits each, respectively.
# (use "git pull" to merge the remote branch into yours)
Run Code Online (Sandbox Code Playgroud)
我想丢弃3个本地提交,并在origin/master处提取8个远程提交.
(合并将变得非常困难,一旦掌握最新,我宁愿再次进行3次本地提交.)
我怎样才能做到这一点?
git ×9
git-commit ×2
author ×1
eclipse ×1
egit ×1
encryption ×1
git-rebase ×1
github ×1
timestamp ×1