标签: git-push

git push.default = current和push.default = upstream有什么区别?

git-config的手册页列出了push.default的这些选项:

nothing - do not push anything.
matching - push all matching branches. All branches having the same name in both ends are considered to be matching. This is the default.
upstream - push the current branch to its upstream branch.
tracking - deprecated synonym for upstream.
current - push the current branch to a branch of the same name.
Run Code Online (Sandbox Code Playgroud)

在大多数情况下,我会假设推送到分支的上游分支与推送到同名分支相同,因为上游分支通常具有相同的名称,并且因为同名的分支("当前" )通常(或总是按定义?)是上游.那有什么区别?

UPDATE:为的git-config中的男子页面已经更新(如人们所期望的),这样的区分做出可能是一个更加清晰了.

git git-push git-branch

85
推荐指数
2
解决办法
5万
查看次数

在git中有一种方法可以获得给定提交的推送日期吗?

我想知道是否有办法在git日志中查看与每个提交相关的推送日期.如果那是不可能的,有没有办法在一定的推动下看到所有提交.

我编写了一个程序,需要在推送时跟踪提交.因为git日志是按提交日期排序的,而不是推送日期,所以我无法看到推送的最新提交.例如,如果用户在推送到主服务器之前2天提交到其本地存储库,则该提交将被放置在主存储库日志中的其他提交的2天之后.

git github git-push

82
推荐指数
5
解决办法
4万
查看次数

Git说本地分支是远程分支的后面,但事实并非如此

场景:

  1. 我做了一个新的分支
  2. 破解它
  3. 提交它
  4. 推它
  5. 再破解它
  6. 再次提交
  7. 试着再次推动

Git回应:

更新被拒绝,因为您当前分支的提示落后于其远程对手.等等

我是唯一一个黑客入侵这个分支的人 - 没有其他人在触摸它.远程分支实际上位于本地分支之后.我根本不应该拉.

(如果我拉,Git报告两者之间的冲突,并迫使我将分支合并到自身)

为什么会这样(可能)发生?我该如何诊断/修复它?

要清楚,我不会在任何地方分支,也没有其他人在研究它:

Remote: Commit A -------- Commit B  

Local:  Commit A -------- Commit B -------- Commit C  
Run Code Online (Sandbox Code Playgroud)

C是B的直接延续,不涉及分支.但是git认为C是A的一个分支:

Remote: Commit A -------- Commit B  

                  ------- Commit C  
                /  
Local:  Commit A -------- Commit B  
Run Code Online (Sandbox Code Playgroud)

不是; 它是B的直接延续.

git git-push

81
推荐指数
2
解决办法
16万
查看次数

如何将只读git克隆从github转换为分叉

我不时会遇到这个问题.

假设我已经按照以下方式阅读了rails的源代码,因为我遇到了一些问题.

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

在研究期间,我测试了一些东西,现在我有一个修复,我希望rails核心团队来看看.如何将我的更改推送到分叉版本的rails.

记得当我克隆时,我没有克隆分叉版本而是只读版本.

并不是说我反对分叉.只是有时我认为我只是要浏览然后我想添加一些东西.

git github git-push git-remote

80
推荐指数
2
解决办法
8194
查看次数

如何从错误的git push -f origin master中恢复?

我刚使用--force选项将错误的源代码提交给了我的项目.

是否有可能还原?我知道所有以前的分支都被使用-f选项覆盖,所以我可能搞砸了我之前的修订版.

git git-push git-commit

77
推荐指数
6
解决办法
6万
查看次数

致命:'origin'似乎不是一个git存储库

moodle在我的Github帐户上有一个存储库,我forked来自官方存储库.

然后我在我的本地机器上克隆它.它工作正常.我创建了几个分支(在master分支下).我做了几个提交,它工作正常.

当我这样做时,我不知道我是如何得到以下错误的: git push origin master

fatal: 'origin' does not appear to be a git repository
fatal: The remote end hung up unexpectedly
Run Code Online (Sandbox Code Playgroud)

如何在不影响Github上的存储库的情况下解决错误?

我正在使用 Ubuntu 12.10

.git/config做的内容cat $(git rev-parse --show-toplevel)/.git/config给出了:

[core]
    repositoryformatversion = 0
    filemode = true
    bare = false
    logallrefupdates = true
[branch "master"]
[branch "MOODLE_23_STABLE"]
[branch "MOODLE_24_STABLE"]
[remote "upstream"]
    url = git://git.moodle.org/moodle.git
    fetch = +refs/heads/*:refs/remotes/upstream/*
Run Code Online (Sandbox Code Playgroud)

git push github git-push

75
推荐指数
5
解决办法
19万
查看次数

如何在git中提交后自动推送?

如何设置git在每次提交到本地仓库后自动推送到远程仓库(包括自动提供我的密码)?

git git-push githooks post-commit-hook

72
推荐指数
3
解决办法
4万
查看次数

![拒绝]主人 - >主人(先获取)

有没有一个很好的方法来解释如何! [rejected] master -> master (fetch first)'在Git中解决" "?

当我使用此命令时, $ git push origin master它显示一条错误消息.

! [rejected]        master -> master (fetch first)
error: failed to push some refs to 'git@github.com:zapnaa/abcappp.git'
Run Code Online (Sandbox Code Playgroud)

git github git-push

69
推荐指数
8
解决办法
15万
查看次数

防止在Git中推送本地更改

我克隆了一个存储库,我的仓库中的master分支正在跟踪origin/master.我创建了一个work分支并更改了一些特定于我的开发机器的配置文件,以使应用程序正常工作.

我的正常工作流程是切换到master分支,合并work分支中push的更改以及上游的更改.问题是我不希望我的特定chnages被推.当我合并我的work分支时,master这些更改也会合并.

到目前为止,我发现的唯一解决方案是不进行这些更改,work但这不是一个令人满意的解决方案.

git git-push

62
推荐指数
3
解决办法
2万
查看次数

git push被拒绝:错误:无法推送一些引用

我知道有人问过类似的问题,但我相信他们的问题的原因是不同的.我做了一个硬重置,因为我搞砸了我的代码非常糟糕

 git reset --hard 41651df8fc9
Run Code Online (Sandbox Code Playgroud)

我做了一些更改,我做了一些提交,现在我正在尝试将所有这些提交推送到服务器中,我得到以下错误:

 ! [rejected]        master -> master (non-fast-forward)
error: failed to push some refs to 'git@git.somewhere.git'
Run Code Online (Sandbox Code Playgroud)

Git建议做一个git pull,这就是其他人向其他用户建议的内容.但是,我相信git pull会将我当前的代码与我不再需要的代码合并(头部修订版).我怎么能推动并忘记我之前的版本/版本?

git git-pull git-push

61
推荐指数
3
解决办法
17万
查看次数