Questions tagged «git»

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

2
如何克隆旧的git-commit(以及有关git的更多问题)
我有约20次提交的git存储库。我知道如何克隆与实际承诺git clone, 但是我如何“克隆”旧的提交? 是否有一个非常好的git-GUI(imhoqgit不是一个好的GUI)? “分支机构”到底是什么? 当我想发布0.1、0.2等时,在git中标记这些提交的最佳方法是什么? svn和有什么不一样?
75 git 

2
Git-使用filter-branch删除具有空变更集的提交
如何使用git filter-branch删除没有更改集的提交? 我使用以下方式重写了我的git历史记录: git filter-branch --tree-filter 'rm -r -f my_folder' -f HEAD 这个工作很好,但是现在我有很多带有空变更集的提交。我想删除那些提交。最好在msysgit中。 变基不是真正的选择,因为我有4000多个提交,其中一半必须删除。

6
如何更改git中的提交主控点?
在git中,我一直在提交提交到master分支上,而实际上我本应该在feature分支上工作。我想更改它,以便master可以回到它的开始位置,而master上的内容现在位于新分支上。基本上,我的提交历史如下: A -- B -- C -- D -- E | | | master origin/master 我希望它看起来像这样: master | A -- B -- C -- D -- E | | | new_branch origin/master 如何更改主控点?
75 git 


7
从目录中删除所有git文件?
我有一个受版本控制的文件夹。我想对其进行复制,但不想在其下面包含所有.git目录和文件。 有没有办法删除所有的git文件,而不是手动删除它们?
75 git 

3
git忽略子目录中的某些文件,但不是全部
我的结构类似于以下内容: /root/ /root/data/ /root/data/script.php /root/data/some.json /root/data/feature/one.json /root/data/feature/two.json /root/data/other-feature/one.json /root/data/other-feature/important-script.php 我希望git忽略'/ data / ...'路径下的任何 .json文件,但是'/ data /'有时包含子目录。 我的理解是,简单data/*.json的gitignore只能匹配一个目录,*而不匹配/,如http://git-scm.com/docs/gitignore所述,“模式格式”,项目符号6: 否则,git将模式视为适合Fnmatch(3)使用FNM_PATHNAME标志使用的shell全局变量:模式中的通配符将与路径名中的/不匹配。例如,“ Documentation / *。html”匹配“ Documentation / git.html”,但不匹配“ Documentation / ppc / ppc.html”或“ tools / perf / Documentation / perf.html”。 有没有一种简单的方法可以执行此操作,或者我需要在每个子目录中明确地主动添加gitignore文件?
75 git  gitignore 

4
git-如何删除空文件夹并推送更改?
如何在本地删除一个空文件夹,以及如何通过拉推共享远程共享的其他协作者也发生这种情况?我知道git在这种意义上并没有“跟踪”文件夹,但是问题仍然存在。 例如,我将文件移动到另一个文件夹并提交了更改(移动)。 但是我找不到git rm name“不匹配”文件夹,所以 git rmdir name不存在。 我可以做,git clean -f folder但是怎么推高呢? 我可以直接rm打开文件,但是如何正确完成该目录删除操作并推送到存储库,然后在其他人拉出目录时将其发送给其他人,以便删除现有文件夹?
75 git  directory  rm  rmdir 

4
如何从Gerrit git-pull给定的补丁集?
使用Gerrit(代码审查)时,我经常需要获取给定补丁集的副本以进行测试或验证。最明显,最简单的方法是通过Gerrit Web界面下载存档或补丁文件,然后将其手动应用于我的本地源。 虽然上述步骤非常简单,可以满足我的需求,但在最好的情况下,我希望补丁集作为提交显示在本地Git中。 我环顾四周,却找不到解决方案。我发现一些稀疏信息,这些信息一旦一起编译即可提供以下解决方案。 假设您要拉出Gerrit更改1222的补丁集2: 查找我们感兴趣的远程引用: $ git ls-remote | grep 1220 From http://something.com:8081/MyProject e2e0212a59240ac5cd7c11220c35542523f44b59 refs/changes/13/713/1 b8c4dceea5eaf1bad711b0ea6938c80ec932726a refs/changes/20/1220/1 6f20c182ec7f54a2aa9e8f6188a0eef1b0790df4 refs/changes/20/1220/2 ed94a98386d224ce3d86004ce99f61220905a077 refs/changes/22/1222/1 拉裁判: git pull origin refs/changes/20/1220/2 这将创建一个Git提交点,您最终可以将其变基: git rebase
75 git  gerrit 

6
Git:强制用户和密码提示
我最近将本地Git安装更新为1.8.1从1.8.0.1。 我注意到,当我在GitHub上工作时,它不再提示我输入用户名和密码。 这让我感到困扰,因为我认为每次都必须输入用户名和密码,这是一种很好的安全措施。(如果有人使用我的计算机怎么办?) 我检查了以下内容: 1.8.0.1 在另一台计算机上仍要求输入用户名和密码。 我在github上的帐户仍然执行私有/安全控制。 我正在使用https远程引用,而不是ssh。 为了很好,我检查了一下~/.ssh。那里没事。 我没有将登录详细信息存储在~/.gitconfig单个<proj>/.git/config文件中。 我也不在中存储任何与github相关的东西~/.netrc。 我创建了一个新的虚拟存档:仍然不提示我登录。 我在git版本说明档案中找不到任何内容。 有人知道这是否是新的git行为吗?如何还原提示?
75 git  github 

9
Jenkins Git插件脱离HEAD
我是Git和Jenkins的新手。我的问题是我无法让Jenkins Maven发布插件正常工作。 当我使用Jenkins构建通用的Maven构建时,它可以很好地工作,但是当我尝试使用Maven发布插件执行发布时,会得到以下堆栈跟踪: org.apache.maven.lifecycle.LifecycleExecutionException: Failed to execute goal org.apache.maven.plugins:maven-release-plugin:2.3.2:prepare (default-cli) on project parent: An error is occurred in the checkin process: Exception while executing SCM command. at org.apache.maven.lifecycle.internal.MojoExecutor.execute(MojoExecutor.java:217) at org.apache.maven.lifecycle.internal.MojoExecutor.execute(MojoExecutor.java:153) at org.apache.maven.lifecycle.internal.MojoExecutor.execute(MojoExecutor.java:145) at org.apache.maven.lifecycle.internal.LifecycleModuleBuilder.buildProject(LifecycleModuleBuilder.java:84) at org.apache.maven.lifecycle.internal.LifecycleModuleBuilder.buildProject(LifecycleModuleBuilder.java:59) at org.apache.maven.lifecycle.internal.LifecycleStarter.singleThreadedBuild(LifecycleStarter.java:183) at org.apache.maven.lifecycle.internal.LifecycleStarter.execute(LifecycleStarter.java:161) at org.apache.maven.DefaultMaven.doExecute(DefaultMaven.java:320) at org.apache.maven.DefaultMaven.execute(DefaultMaven.java:156) at org.jvnet.hudson.maven3.launcher.Maven3Launcher.main(Maven3Launcher.java:79) at sun.reflect.NativeMethodAccessorImpl.invoke0(Native Method) at …
75 git  jenkins 



9
git pull显示“严重:找不到远程引用refs / heads / xxxx”并挂断
我创建了一个名为“ 6796”的分支,然后将其推送到远程,在另一台计算机上签出,进行其他编辑,推送,然后将其与主服务器合并,然后在另一台本地和远程(git push :6796)上将其删除。机。现在,当我运行时git pull: fatal: Couldn't find remote ref refs/heads/6796 user@host:~/path/to/repo$ fatal: The remote end hung up unexpectedly 但git pull origin master工作正常。在我看来,有一些6796参考挂起了...如何解决此问题?
75 git 

4
git与开发,阶段和生产分支
这篇文章听起来很有趣,但是我很确定这些图是错误的。 http://guides.beanstalkapp.com/version-control/branching-best-practices.html 它不应该是DEVELOPMENT> STAGING> PRODUCTION? 合并只能朝一个方向进行:从在自己的分支机构或开发中完成的功能和错误修复到测试阶段。经过测试后,您可以将这些更改从开发合并到生产中。 在这里,我有点困惑。因此,我将暂存合并为Master还是将Master合并为暂存? 我正在使用一个名为SmartGit的客户端,对此我感到困惑。通常,我会为功能创建一个分支,提交给它,然后切换到master并将其合并到分支(转发)。因此,在这个具有暂存和生产功能的新工作流程中,我创建了这两个额外的分支,然后为我的功能从master(aka dev)创建了一个分支。提交,然后切换到暂存并合并(转发)到我的功能分支?听起来正确吗? 实际上,使之如此混乱的原因在于,Beanstalk员工支持非常不标准的Staging使用(它出现在图表开发之前,这不是错误! https://twitter.com/Beanstalkapp/status/306129447885631488 决定忘掉Beanstalk并选择Github。 自从我发布了这篇文章以来,Beanstalk的人就听了我的提示,并重命名了他们的阶段,现在将Development称为“ Stable”。
75 git 

2
删除远程主分支,由于是当前分支而被拒绝
如何从GitHub / Bitbucket删除远程主分支? 我正在努力: # git push bb --delete master remote: bb/acl: user is allowed. accepted payload.[K remote: error: refusing to delete the current branch: refs/heads/master[K To ssh://git@bitbucket.org/user/reponame.git ! [remote rejected] master (deletion of the current branch prohibited) error: failed to push some refs to 'ssh://git@bitbucket.org/user/reponame.git' 我也尝试过 git push bb …
75 git  github  bitbucket 

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.