我正在使用一个脚本来自动检查过去 12 个月每个月的第一次提交。偶尔会发生一些奇怪的事情,我不再被允许检查过去的提交。错误是这样的:
error: Your local changes to the following files wold be overwritten by checkout:
db tests/framework.cpp
Please, commit your changes or stash them before you can switch branches. Aborting
这种情况已经发生过很多次(我没有编辑任何文件,只是检查它们)。我通常只是从 Github 下载一个新的存储库副本,然后再次启动该过程,它就可以工作了。但一旦坏了,我不知道如何修复,而且这种情况不断发生。有什么想法吗?
这是我的脚本中进行的迭代,然后是输出git status
for i in {12..1}
do
cd
cd git/mongodb/mongo
git checkout master
git checkout $(git rev-list --before "$(date -d "$(date +%Y-%m-01) -$i months 00:01" +%Y-%m)-01" -n 1 HEAD)
git checkout master
Run Code Online (Sandbox Code Playgroud)
git 状态:
在分支主控上
未暂存提交的更改:
modified: dbtests/framework.cpp
Run Code Online (Sandbox Code Playgroud)
未跟踪的文件:
SHA1.txt
SHA1.txt.
file
file.
Run Code Online (Sandbox Code Playgroud)
没有添加任何更改来提交
我需要查看几周前我所做的提交,例如当我这样做时
> git log --oneline -10
b45e80d ten
711aa9c nine
166dbfa eight
26abb54 seven
ddd6bb6 siz
54430c3 five
ca2d76f four
81ccc8c three
d362fbc two
7d43aba one
Run Code Online (Sandbox Code Playgroud)
我需要暂时恢复我的网站以表明它是在我完成此提交之后81ccc8c three
我该怎么办?
还好我在尝试之前已经将 repo 推送到了 bitbucket
git revert 81ccc8c
Run Code Online (Sandbox Code Playgroud)
我的文件没有在项目文件夹中更新,但是当我更新时它显示了一堆更改git status,并且不会让我revert返回任何其他提交。
我该怎么办?b45e80d ten
本质上我想回滚本地存储库中的两个提交。尚未将任何内容推送到远程。
因此,在我的 GIT 存储库中,我不小心在提交 (A) 中添加了一个巨大的 zip 文件。我意识到了这一点,使用 finder 删除了 zip 文件并进行了另一次提交 (B)。
但现在我意识到,如果我将其推送到远程,它将包括整个 zip 文件......
为了让事情变得更复杂,我还在第一次提交 (A) 中对几个文件进行了一系列重要的更改,我不想丢失这些更改。
在推送到远程之前,如何从历史记录中删除该 zip 文件?我是否可以恢复到这两次提交之前的文件状态,而不会丢失在其他几个文件中所做的所有更改?
我在 sqlalchemy 中提交对 pickle 类型(列表)的更改时遇到问题。交付后它将表现得好像什么都没发生一样。
这是我尝试提交的功能:
def commit_move(game_id, player, move):
game = game_query(game_id)
if player == 'human':
game.human_spaces.append(move)
if player == 'ai':
game.ai_spaces.append(move)
game.available_spaces.remove(move)
print game.human_spaces
print game.ai_spaces
print game.available_spaces
print "----"
session.add(game)
session.commit()
Run Code Online (Sandbox Code Playgroud)
该表的设置方式如下:
class Game(Base):
__tablename__ = 'game'
id = Column(Integer, primary_key=True)
human_spaces = Column(PickleType)
ai_spaces = Column(PickleType)
available_spaces = Column(PickleType)
Run Code Online (Sandbox Code Playgroud)
这是我用来测试它的代码:
game_id = create_game()
print game_id
print get_available_spaces(game_id)
print get_human_spaces(game_id)
print get_ai_spaces(game_id)
print "---------"
commit_move(game_id, 'human', 7)
print get_available_spaces(game_id)
print get_human_spaces(game_id)
print get_ai_spaces(game_id)
Run Code Online (Sandbox Code Playgroud)
这就是老终端告诉我的内容:
1
[1, 2, …Run Code Online (Sandbox Code Playgroud) 我有两次提交,(已经提交了错误的电子邮件)所以我的推送被拒绝了。如何在不丢失更改的情况下更改这些提交的电子邮件?
重新启动计算机后,“git commit”和“git status”均返回错误消息:
error: bad signature
fatal: index file corrupt
运行“git分支”:
fatal: Failed to resolve HEAD as a valid ref.
运行“git log”:
fatal: your current branch appears to be broken
这是什么原因造成的?如何恢复/修复我的本地存储库/分支?
我正在使用一个非常不可靠的连接,当我尝试进行提交时,没有一个超过 20mb 和/或一旦它们达到这样的大小就推动它们,有时这是不可能的(一些资产可能很大 -我知道将 git 用于资产也不是最好的主意),并且在发送所有内容之前,我的连接有 90% 的可能性会失败。
是否可以一一推送提交,或者您能否提出其他对这种情况有用的技巧?
我是使用 git 的新手,我有点困惑。我要做的是为特定的项目文件夹设置一个新的存储库。我的第一个问题是我到底需要在终端、桌面或文件夹本身的何处进行文件化来初始化文件。我尝试导航到实际文件夹并输入git status其中将文件列为未跟踪的文件,因此我输入git add暂存以进行提交,结果显示“未指定任何内容,未添加任何内容。也许您想说'git add”
不知道我哪里出错了。
mongoose/mongodb node.js 代码:
session.commitTransaction(function(err, reply){
if(err) {
session.abortTransaction(); //Do I need this abort?
}
}
Run Code Online (Sandbox Code Playgroud)
有没有人可以帮助我。
场景是...想象一个项目开发正在进行,许多贡献者正在添加和编辑代码...通过使用提交和审查,如何获取每个贡献者在代码中添加和删除的行数每个人都承诺?基于此如何计算每个人对代码中单词的贡献百分比?
commit ×10
git ×8
rollback ×2
add ×1
branch ×1
command-line ×1
cygwin ×1
gerrit ×1
git-checkout ×1
github ×1
mongodb ×1
mongoose ×1
pickle ×1
push ×1
python ×1
repository ×1
restore ×1
sql ×1
sqlalchemy ×1
transactions ×1
undo ×1