相关疑难解决方法(0)

如何将修改后的提交推送到远程Git存储库?

当我使用我的源代码工作时,我做了我惯常的事情提交,然后我推送到远程存储库.但后来我注意到我忘了在源代码中组织我的导入.所以我做了修改命令来替换以前的提交:

> git commit --amend
Run Code Online (Sandbox Code Playgroud)

不幸的是,提交不能被推回到存储库.这被拒绝了:

> git push origin
To //my.remote.repo.com/stuff.git/
 ! [rejected]        master -> master (non-fast forward)
error: failed to push some refs to '//my.remote.repo.com/stuff.git/'
Run Code Online (Sandbox Code Playgroud)

我该怎么办?(我可以访问远程存储库.)

git git-amend git-commit

624
推荐指数
14
解决办法
36万
查看次数

如何备份本地Git存储库?

我在一个相对较小的项目上使用git,我发现压缩.git目录的内容可能是备份项目的好方法.但这有点奇怪,因为当我恢复时,我需要做的第一件事就是git reset --hard.

以这种方式备份git repo有什么问题吗?还有,有没有更好的方法(例如,便携式git格式或类似的?)?

git backup

151
推荐指数
7
解决办法
12万
查看次数

备份GitHub存储库

考虑到以下要求,在GitHub上创建git存储库的本地备份的最佳方法是什么?:

  1. 本地备份应该是一个简单的回购.

  2. 备份应包括所有分支.

  3. 应该很容易(逐步)更新备份.

基本上,我想要一个完美的镜子,可以轻松更新.就这样,命令

git clone --mirror git://github.com/...
Run Code Online (Sandbox Code Playgroud)

想到了,但据我所知,这不允许轻松更新(我必须删除并重新创建我的本地备份).另外,git clone的镜像选项似乎是最近的,我没有在我正在研究的一些系统上(它有稍微旧版本的git运行).

针对此类问题,您推荐的解决方案是什么?

git backup

56
推荐指数
3
解决办法
5万
查看次数

Git with Dropbox

我一直在使用git半年左右,我不知道我是否完全使用git.

首先,我一直在尝试使用Dropbox,我觉得如果我可以将它合并到我的工作流程中,那么它真的很棒,因为Dropbox非常方便.

  1. 我有台式机和笔记本电脑.两者都有Dropbox.
  2. 我通过做一个初始化我的Dropbox repos git init --bare.然后在我的桌面的提交后脚本中,我有一个git push --mirror dropbox.

这样我的桌面和保管箱将始终完全镜像,这是一件好事.

我真正的问题是:我应该如何设置我的笔记本电脑? 我听到了一些建议:

  1. 从我的桌面拉,以便我的笔记本电脑的原产地是桌面.
  2. 直接从保管箱拉,以便我的笔记本电脑的起源是保管箱.

我一直在做第二,我不知道我做的是否正确.我的工作流程包括:

  1. 每次我在我的笔记本电脑上,我做一个git pull(因为笔记本电脑的起源是dropbox和dropbox更新本身)
  2. 然后当我从dropbox检出分支到本地分支时.
  3. 完成工作后,我承诺.
  4. 这是我感到困惑的地方:我应该把--mirror推到我的Dropbox repos(我的笔记本电脑的原始回购)吗?我在这方面遇到了一些困难:有时候Dropbox不能很好地同步等等

目前,在我的笔记本电脑上执行git branch -r后,在我的桌面上执行操作并未显示我最近的笔记本电脑提交.有人可以告诉我为什么吗?git push --mirror origin

我提到直接从我的桌面拉,因为这样我总是可以初始化拉动,我100%确信同步完成.使用Dropbox,我永远无法100%确定更新是否已推送到Dropbox服务器

git dropbox

13
推荐指数
1
解决办法
5275
查看次数

如何从本地存储库中恢复意外删除的远程git存储库

我做过类似的事情:

(1)将远程git存储库克隆到本地主机

本地# git clone http://www.foo.com foo

(2)在ssh主机(bar)上添加另一个项目作为第二个远程存储库

本地# git remote add bar ssh://bar/home/project

本地# git fetch bar

(3)在ssh主机(bar)上做了一些愚蠢的事情:

酒吧# rm -rf /home/project

你能告诉我如何从我的本地副本恢复ssh主机(bar)上的项目,所以ssh主机上的其他开发人员可以继续他们的工作,我可以运行'git fetch bar'来获取他们的提交,就像我没有对他们的ssh主机做任何错误,即撤消我所做的所有主持吧.非常感谢.

更新:

酒吧# mkdir -p /home/project && cd /home/project && git init --bare

本地# git branch remote show bar

本地# git push bar bar/master:refs/heads/master

本地# git push bar bar/branch1:refs/heads/branch1

本地# git push bar bar/branch2:refs/heads/branch2

git

9
推荐指数
1
解决办法
1万
查看次数

如何强制覆盖我推送和重新绑定的git分支?

使用Git,我正在开发一个功能分支.我把分支推到了github,所以有人可以看一下.然后,它已经有一段时间了,所以我重新调整它.如何将我的重新分支推到旧分支上?我必须避免哪些陷阱?我认为这只是git push --force(或--mirror?),但我不确定.

一些相关链接:

git github git-rebase

1
推荐指数
1
解决办法
99
查看次数

标签 统计

git ×6

backup ×2

dropbox ×1

git-amend ×1

git-commit ×1

git-rebase ×1

github ×1