Questions tagged «git»

Git是一个开源的分布式版本控制系统(DVCS)。使用此标签可解决有关Git使用和工作流程的问题。不要仅仅因为存储库恰好托管在GitHub上而使用[github]标签来解决与Git相关的问题。另外,请勿对碰巧涉及Git储存库的一般编程问题使用此标记。

12
Git push拒绝了“非快进”
对于git目前在团队环境中使用它来管理我们的代码,我还很陌生。我遇到了一些变基问题,并使用 git checkout --ours filename.txt git add filename.txt git rebase --continue 现在,我希望推送更改,因此运行以下命令 $ git push origin feature/my_feature_branch 给我以下错误: To ssh://git@coderepo.com:7999/repo/myproject.git ! [rejected] feature/my_feature_branch -> feature/my_feature_branch (non-fast-forward) error: failed to push some refs to 'ssh://git@coderepo.com:7999/repo/myproject.git' hint: Updates were rejected because the tip of your current branch is behind hint: its remote …
90 git  push  rebase 

3
从GitHub克隆项目后提取git子模块
我有一个在其中指定了子模块的项目。在开发机器上一切正常。我已.gitmodules提交文件并开始生产。但是,它不会拉出子模块。 如果我进入子模块目录并调用git pull,则什么也不会发生。 在新项目中提取这些子模块的正确方法是什么?

4
Git最常见的Mercurial命令的等效项?
我一直在使用Mercurial,但想快速演示一下Git。 什么是Git等效项: hg init . # start a project in the current directory hg addremove # look for any added or deleted files hg commit -m "comment" # commit any uncomitted changes hg status # what have i changed since the last commit?
89 git  mercurial 

6
如何使本地存储库可用于git-pull?
我有一个工作副本存储库,我一直在正常工作;该存储库的来源位于GitHub上。 我想将我的工作副本存储库用作构建机器(另一台物理主机上的虚拟机)的源,这样我对工作副本所做的提交就可以在构建机器上构建和测试,而无需经过GitHub首先。我已经有一个用于GitHub存储库的构建,但是我希望这是一个“黄金”存储库/构建;也就是说,如果有什么问题,应该保证针对GitHub的构建能够通过。 我查看了有关Git URL的文档,并发现可以使用表单中的URL git://host.xz[:port]/path/to/repo.git/(例如,参见git-clone文档)。我想用最简单的方法,用最少的配置就可以做到这一点:我不想只为了将它发布到我的构建机器上而建立一个SSH守护进程或Web服务器。 我正在运行Windows 7 x64 RC,安装了MSysGit和TortoiseGit,并且在防火墙上打开了Git的默认端口(9814)。请假定工作副本存储库位于D:\Visual Studio Projects\MyGitRepo,主机名是devbox。构建计算机为Windows Server 2008 x64。我一直在构建计算机上尝试以下命令以及相关的输出: D:\Integration>git clone "git://devbox/D:\Visual Studio Projects\MyGitRepo" Initialized empty Git repository in D:/Integration/MyGitRepo/.git/ devbox[0: 192.168.0.2]: errno=No error fatal: unable to connect a socket (No error) 我想念什么吗?

1
为什么“ git log-foo”对删除的文件foo不起作用?
我的存储库进行了以下更改: ...一些无关的提交... 提交foo包含100行内容的新文件 ...中间的提交,其中一些涉及foo... 将内容插入foo现有文件的顶部bar并git rm foo进行相同的提交 ...更多无关的提交... 现在,我想查看已删除文件的日志foo。我读过的所有内容(包括SO内容)都说我应该能够git log -- foo,但是该命令不会产生任何输出。 如果我发现foo可以删除的提交,可以git log 1234abcd -- foo查看它的日志,所以我认为这foo不是问题所在。还要注意git merge-base HEAD 1234abcd输出1234abcd[...],所以我认为应该证明提交是可以到达的HEAD。请注意,foo我的工作树中没有文件(显而易见,因为它已被删除)。在OS X上使用Git 1.7.1.1。 为什么git log -- foo对我不起作用,我该如何解决?谢谢!
89 git  git-log 

6
如何将Eclipse项目上传到GitHub?
我在Eclipse中有想要上传到GitHub的代码,但到目前为止我还不知道该怎么做。它说“创建存储库”,但是看起来更像是一个保存项目的文件夹,我不确定如何将代码上传到其中。为看似愚蠢的问题道歉。另外,如何删除存储库?也没有找到执行此操作的方法。
89 java  eclipse  git  github 

5
使用更新后挂钩在另一个存储库上执行“ git pull”时,得到“致命的:不是git存储库:'。'
我是git的新手,所以如果我在这里滥用术语,我深表歉意(请纠正我),但我会尽力而为。 我正在尝试在Web服务器上设置裸git repo(hub)和开发站点工作副本(prime)。在本文之后,我已尝试将其模式化。我希望每当集线器存储库被推送到时,开发工作副本就被更新。我的印象是post-update,为此创建的合适的钩子是这样创建的: #!/bin/sh whoami cd /path/to/working-copy/ RET=`git pull` echo $RET 更新资料 当将更改从本地存储库推送到裸集线器时,我将从更新后脚本中获得以下输出: remote: sites remote: fatal: Not a git repository: '.' 但是,如果我以用户“站点”的身份通过SSH进入服务器并手动执行此脚本,则效果很好。
89 git  githooks 

5
.gitignore NuGet排除软件包/包括软件包/repositories.config
我正在尝试为使用NuGet的Visual Studio项目创建.gitignore。当前包含: \packages/* !packages/repositories.config 这不会忽略文件夹中的任何内容。一切都会上演。我也尝试过: packages/ !packages/repositories.config 这将忽略packages文件夹中的所有内容,并且不包括packages / repositories.config。 我究竟做错了什么?
89 git  nuget  gitignore 

4
正确地递归地忽略除特定文件类型以外的特定文件夹下的所有文件
我已经看到了类似的问题(1,2和 3),但我不从他们那里得到一个妥善的解决办法。 除特定文件类型外,我需要忽略特定文件夹下的所有文件。该文件夹是根路径的子目录。让我命名该文件夹Resources。由于我不想使事情复杂化,因此让我忽略所有命名为所有文件夹的文件Resources。 这是最常见的解决方案(在所有重复的问题中) # Ignore everything * # Don't ignore directories, so we can recurse into them !*/ # Don't ignore .gitignore !.gitignore # Now exclude our type !*.foo 该解决方案的问题在于它停止跟踪新添加的文件(因为*忽略所有文件)。我不想一直排除每种文件类型。我想要正常的行为,如果添加了任何新文件,就会git status显示出来。 我终于在这里找到了解决方案。解决方法是.gitignore在Resources文件夹中添加另一个文件。这可以正常工作。 我可以使用一个忽略文件来达到相同的目的吗?我发现在不同目录中有许多忽略文件有点笨拙。 这是我要实现的目标: # Ignore everything under Resources folder, not elsewhere Resources # Don't ignore directories, so we …

9
在git中记录前10个
两个问题: 如何从头到尾显示git中的前10个提交。(无分支) 如何指定提交索引并记录它。(显示第二或第三) 我知道git使用parent链接提交,很容易从头到尾记录提交。喜欢:git log HEAD~10 但是我需要从头到尾进行查询,这可能吗?
89 git  logging 

2
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 …


6
.gitignore语法:bin vs bin / vs. bin / * vs. bin / **
什么是加入之间的区别bin,bin/,bin/*和bin/**在我的.gitignore文件?我一直在使用bin/,但是查看其他 .gitignore文件(在eclipse文件中,甚至将双星和单星也像这样一起使用:tmp/**/*这是怎么回事?)我看到前两种模式也得到了广泛使用。有人可以解释一下两者之间的区别吗?
89 git 

8
git存储库在计算机之间同步时,何时移动?
假设我有一台台式电脑和一台笔记本电脑,有时我在台式机上工作,有时我在笔记本电脑上工作。 来回移动git存储库的最简单方法是什么? 我希望git存储库是相同的,这样我就可以在另一台计算机上我离开的地方继续。 我想确保两台计算机上都具有相同的分支和标签。 谢谢约翰 注意:我知道如何使用SubVersion做到这一点,但是我对git如何工作感到好奇。如果更简单,我可以将第三台pc用作经典服务器,两台pc可以同步。 注意:两台计算机都在运行Linux。 更新: 因此,让我们尝试XANI的想法:在服务器上使用裸露的git repo,并使用KingCrunch的push命令语法。在此示例中,有两个客户端和一个服务器。 因此,让我们首先创建服务器部分。 ssh user@server mkdir -p ~/git_test/workspace cd ~/git_test/workspace git --bare init 因此,然后我尝试从其他计算机之一获取带有克隆的回购副本: git clone user@server:~/git_test/workspace/ Initialized empty Git repository in /home/user/git_test/repo1/workspace/.git/ warning: You appear to have cloned an empty repository. 然后进入该仓库并添加一个文件: cd workspace/ echo "test1" > testfile1.txt git add testfile1.txt …

9
如何从git存储库中删除未使用的对象?
我最近一次提交到Git存储库时,不小心添加,提交并推送了一个巨大的二进制文件。 如何让Git删除为该提交创建的对象,以便.git目录再次缩小到合理的大小? 编辑:感谢您的回答;我尝试了几种解决方案。没有工作。例如,来自GitHub的那个已从历史记录中删除了文件,但.git目录大小并未减小: $ BADFILES=$(find test_data -type f -exec echo -n "'{}' " \;) $ git filter-branch --index-filter "git rm -rf --cached --ignore-unmatch $BADFILES" HEAD Rewrite 14ed3f41474f0a2f624a440e5a106c2768edb67b (66/66) rm 'test_data/images/001.jpg' [...snip...] rm 'test_data/images/281.jpg' Ref 'refs/heads/master' was rewritten $ git log -p # looks nice $ rm -rf .git/refs/original/ $ git …
89 git  file  object  binary 

By using our site, you acknowledge that you have read and understand our Cookie Policy and Privacy Policy.
Licensed under cc by-sa 3.0 with attribution required.