Questions tagged «git»

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

4
了解gitk的指南?[关闭]
关闭。此问题不符合堆栈溢出准则。它当前不接受答案。 想改善这个问题吗?更新问题,使其成为Stack Overflow的主题。 5年前关闭。 改善这个问题 我正在向开发人员团队介绍git,我发现gitk是一个了不起的工具。这也很难理解,因为了解gitk要求同时了解git历史记录和查看器工具本身。 是否有人对“使用gitk的git历史入门指南”有什么好的参考?
83 git  gitk 

11
Git Global忽略不起作用
我已经创建了文件.gitignore_global并将其放在我的git install目录中。当我运行命令时: git config --global core.excludesfile ~/.gitignore 忽略文件中的规则不会应用于我的提交。 当我重命名文件.gitignore并将其放在我的项目根目录中时,规则确实适用。 怎么了
83 git 

12
如何获得我的C代码以自动打印出其Git版本哈希?
有没有简单的方法可以编写可以访问其Git版本哈希的C代码? 我用C语言编写了用于在实验室环境中收集科学数据的软件。我的代码将它收集的数据记录在.yaml文件中,以供以后分析。我的实验每天都在变化,因此我经常不得不修改代码。为了跟踪修订,我使用git存储库。 我希望能够在我的.yaml数据文件中包含Git修订哈希作为注释。这样,我可以查看.yaml文件,确切地知道使用什么代码生成该文件中显示的数据。有没有简单的方法可以自动执行此操作?


9
git commit签名失败:密钥不可用
尝试使用Git提交时出现此错误。 gpg: skipped "name <name@mail.com>": secret key not available gpg: signing failed: secret key not available error: gpg failed to sign the data fatal: failed to write commit object 我生成了一个新的密钥,如下所示,但它仍然给出相同的错误 gpg --list-keys ~/.gnupg/pubring.gpg -------------------------------- pub 2048R/35F5FFB2 2016-04-23 uid name (New key) <name@mail.com> sub 2048R/112A8C2D 2016-04-23 密钥与上面相同 我已经找到了 生成用于git标记的GPG密钥并按照以下步骤进行操作,但仍然无法正常工作,知道吗?
83 git 

15
为什么收到消息“致命:此操作必须在工作树中运行”?
刚刚在Windows上安装了git。我将GIT_DIR变量设置为c:\ git \,并验证了该环境变量是由cygwin维护的(即echo $ GIT_DIR应该是它)。我转到了要为其创建git存储库的文件夹,假设c:\ www,然后运行: git init git add . 然后我得到错误: fatal: This operation must be run in a work tree 我不确定出了什么问题,但是c:\ git目录中有一个配置文件,内容为: [core] repositoryformatversion = 0 filemode = false bare = true symlinks = false ignorecase = true 我很确定这不应该是裸露的,这就是我们的问题。
83 git 

2
如何检查对远程Git存储库的写访问权限(“我可以推送吗?”)
我正在构建一个(有点受限制的)Git客户端。要设置存储库,请输入远程仓库的URL。我想检查用户是否对该存储库具有读写访问权限。如果没有,我将显示一个身份验证对话框。 我检查“读”访问用git ls-remote <url>。 有没有类似的方法可以检查“写入”访问权限而无需先克隆存储库?(我知道我可以git clone <url>,然后git push --dry-run)

1
git rebase使用sourcetree
我想我对如何使用SourceTree GUI进行git rebase感到困惑。我有两个分支“ master”和“ dev”。如图所示,两个分支分歧。我想使用命令行在“ dev”分支上做一个基础,这将是: git checkout dev git rebase master 我本来希望右键单击“开发”,然后选择“将当前更改重新归入开发”。我认为当前的更改意味着“对主服务器的新提交”。但是选择此选项似乎没有任何效果。正确的步骤是什么?

10
跟踪大型二进制文件时,git非常慢
我的项目已经六个月大了,而git非常慢。我们跟踪大约30个文件,大小为5 MB到50 MB。这些是二进制文件,我们将其保存在git中。我相信这些文件会使git变慢。 有没有办法杀死存储库中所有大小> 5MB的文件。我知道我会丢失所有这些文件,我也可以。 理想情况下,我想要一个列出所有大文件(> 5MB)的命令。我可以看到列表,然后说可以,删除这些文件并使git更快。 我应该提到git不仅在我的机器上运行缓慢,而且在暂存环境中部署该应用程序大约需要3个小时。 因此,修复程序应该会影响服务器,而不仅影响存储库的用户。
83 git 

2
为什么我的bash提示不更新?
我是git的新手,正在尝试将当前git分支添加到我现有的提示中,其定义如下: RESET="\[\017\]" NORMAL="\[\033[0m\]" RED="\[\033[31;1m\]" YELLOW="\[\033[33;1m\]" WHITE="\[\033[37;1m\]" SMILEY="${WHITE}:)${NORMAL}" FROWNY="${RED}:(${NORMAL}" SELECT="if [ \$? = 0 ]; then echo \"${SMILEY}\"; else echo \"${FROWNY}\"; fi" export PS1="${RESET}${YELLOW}\u@\h${NORMAL} \`${SELECT}\` ${YELLOW}\w $(__git_ps1) >${NORMAL} " 我尝试了一下(通过.bashrc再次采购文件),它似乎可以工作,但是后来我转到另一个分支,它没有更新。如何确定$(__git_ps1)未缓存?
83 git  bash  ps1 

5
为什么“ git status”显示我在master分支上,而“ git branch”不在新创建的存储库中?
我正在尝试使过程自动化并发出git branch命令以找出我所在的分支。除了新初始化的存储库git branch什么都不返回以外,其他一切都工作正常。鉴于我对仓库没有做任何事情,甚至没有执行最初的提交,我都可以接受答案。但是,如果我运行git status它,它会告诉我我在master分支上,如下所示: $ mkdir todelete $ cd todelete $ git init Initialized empty Git repository in /u/u70021a/todelete/.git $ git status On branch master No commits yet nothing to commit (create/copy files and use "git add" to track) $ git branch $ 难道我做错了什么?有没有我没有正确设置的设置? 我对Git也有很多新人,我无法向他们解释为什么显示他们所在的分支的命令什么都没显示,而status命令却显示。
83 git 


16
Bitbucket无法通过git pull进行身份验证
我使用BitBucket,并且由于密码被盗而不得不更改密码。 git pull remote:无效的用户名或密码。如果您通过第三方服务登录,则必须确保在帐户资料中设置了帐户密码。 致命的:“ https://bitbucket.org/myusername/myproject.git/ ”的身份验证失败 如何使用命令行更改密码?
83 git  bitbucket 

8
致命的:似乎不是git存储库
为什么我的git仓库网址正确时会出现此错误? jitendra@JITENDRA-PC /c/mySite (master) $ git push beanstalk master fatal: 'git@skarp.beanstalkapp.com/gittest.git' does not appear to be a git repository fatal: The remote end hung up unexpectedly jitendra@JITENDRA-PC /c/mySite (master) $ git clone git://github.com/jquery/jquery.git Cloning into jquery... Remote: Counting objects: 19803, done. Remote: Compressing objects: 100% (5196/5196), done. Remote: Total 19803 …
83 git  git-remote 

7
合并子目录中的git仓库
我想在我的工作git仓库中合并一个远程git仓库作为它的子目录。我希望生成的存储库包含两个存储库的合并历史记录,并且希望合并后的存储库中的每个文件都保留其历史记录,就像在远程存储库中一样。我尝试使用如何使用子树合并策略中所述的子树策略,但是按照该步骤进行操作后,尽管生成的存储库确实包含两个存储库的合并历史记录,但来自远程文件库的单个文件并未保留其历史记录(其中任何一个上的“ git log”仅显示一条消息“ Merged branch ...”)。 另外,我也不想使用子模块,因为我不想再将两个组合的git存储库分开。 是否可以将远程git存储库作为子目录合并到另一个目录中,而该远程git存储库中的单个文件会保留其历史记录? 非常感谢您的帮助。 编辑:我目前正在尝试使用git filter-branch重写合并的存储库历史记录的解决方案。它似乎确实有效,但我需要对其进行更多测试。我将返回报告我的发现。 编辑2:希望我能更清楚地给出与git的子树策略一起使用的确切命令,这显然会导致丢失远程存储库文件的历史记录。假设A是我当前正在使用的git repo,而B是我想作为其子目录并入A的git repo。它执行以下操作: git remote add -f B <url-of-B> git merge -s ours --no-commit B/master git read-tree --prefix=subdir/Iwant/to/put/B/in/ -u B/master git commit -m "Merge B as subdirectory in subdir/Iwant/to/put/B/in." 在执行这些命令并进入目录subdir / Iwant / to / put / B / …
83 git 

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.