Questions tagged «git»

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

10
如何自定义git的合并提交消息?
每次执行合并时,都需要生成合并提交,我希望它不仅具有所有提交的摘要。 我的问题是如何格式化git-fmt-merge-msg或确定该自动消息的方式(我可以在提交后通过修改并使用git-log --pretty = format:'...'手动完成此操作) 例如,我想这样格式化: Merge branch 'test' * test: [BZ: #123] fifth commit subject [BZ: #123] fourth commit subject [BZ: #123] third commit subject [BZ: #123] second commit subject [BZ: #123] first commit subject __________________________________________ Merge details: [BZ: #123] fifth commit subject at 2010-06-30 11:29:00 +0100 - fifth …
73 git  git-merge 

6
意外地恢复为主文件,丢失了未提交的更改[关闭]
关闭。此问题不符合堆栈溢出准则。它当前不接受答案。 想改善这个问题吗?更新问题,使其成为Stack Overflow的主题。 6年前关闭。 改善这个问题 我已经设法犯了一个大错误(在一个星期一早晨),在Master上工作,忘记创建新分支,对文件进行更改,然后无意中将其还原到Master,失去了所有更新。我没有提交更新的文件。 我丢失了所有更新还是可以找回它们? 不要问我怎么做,因为每次我想起来我都要面对自己。
73 git 

10
如何从远程git存储库中获取最新提交的SHA?
有谁知道如何获取给定分支的最新SHA 从git存储库外部? 如果您位于git存储库中,则可以执行以下操作: git log origin/branch_X | head -1 但是,我不在git存储库中,并且我希望避免clone仅为了获取标签/分支的最新SHA而必须使用存储库。有聪明的方法吗?
73 git 

4
重命名BitBucket上配置的git项目的最简单方法
我在BitBucket上托管了一个项目 我可以重命名吗? 如果没有,我需要创建一个新的存储库,有人可以告诉我最简单的方法,并在BitBucket上有一个新的仓库(对我来说,造成混乱的一个特殊原因是是在本地还是从Bitbucket网站上驱动该过程) 更新资料 谢谢Rafal我已经按照您的指示进行了,效果很好,但是我只是想让像我这样的菜鸟更清楚一点(在Linux上) 在Bitbucket项目设置中重命名项目 vi项目名称/.git/config,并编辑URL值以反映新的Bitbucket存储库URL mv projectname newprojectname
73 git  bitbucket 

5
Git真的可以跟踪单个功能从一个文件到另一个文件的移动吗?如果是这样,怎么办?
好几次,我都遇到过这样的说法:如果您将一个函数从一个文件移动到另一个文件,那么Git可以跟踪它。例如,该条目说:“ Linus说,如果您将一个函数从一个文件移动到另一个文件,Git会告诉您该单个函数在整个移动过程中的历史。” 但是我对Git的一些底层设计有些了解,而且我不知道这怎么可能。所以我想知道……这是正确的说法吗?如果可以,这怎么可能? 我的理解是,Git将每个文件的内容存储为一个Blob,并且每个Blob都有一个全局唯一的标识,该标识源自其内容和大小的SHA哈希。然后,Git将文件夹表示为树。任何文件名信息都属于树,而不属于Blob,因此文件重命名例如显示为对树(而不是Blob)的更改。 因此,如果我有一个名为“ foo”的文件,其中包含20个函数,而其中一个名为“ bar”的文件中具有5个函数,并且我将其中一个函数从foo移到了bar(分别导致19和6), Git如何检测到我将该功能从一个文件移到了另一个文件? 据我了解,这将导致2个新的blob存在(一个用于修改的foo,一个用于修改的bar)。我意识到可以计算出差异以表明该功能已从一个文件移至另一个文件。但是我看不到关于函数的历史如何与bar而不是foo关联(无论如何不是自动的)。 如果Git实际上要查看单个文件的内部,并为每个函数计算一个blob(这是疯狂的/不可行的,因为您必须知道如何解析任何可能的语言),那么我可以看到这是可能的。 那么...该陈述正确与否?如果是正确的话,那么我所缺乏的理解是什么?
73 git  git-diff  git-log 

15
如何包装git commit注释?
有没有办法包装git commit注释(通过时查看git log),这样它们就不会在行尾被截断?似乎应该有一个非常简单的解决方案,但我一直找不到。 谢谢。
72 git 

6
在git repo中更改文件名
git如何处理文件名更改? 是将文件名更改检测为修改,还是将“丢失”的文件删除并添加新文件git add?
72 git 

7
进行git合并时是否可以排除特定的提交?
假设我想从发布分支合并到master分支,并且release分支中有一些我不想包含在master分支中的提交。有没有一种方法可以进行合并,以使这些提交中的一个或多个不会被合并? 到目前为止,我的策略是执行以下操作(以大师为主): git merge --no-commit release-branch # Resolve conflicts and apply reverse patch of the commits that I don't want included git commit # Edit commit message so that it lists the commits that have been reverse-patched 有一个更好的方法吗?
72 git 

6
让Git确认以前移动的文件
我不加思索地手动移动了一堆文件,并且找不到找到git的方法来识别文件只是移动的,而不是实际上不同的文件。除了删除旧文件并添加新文件(从而丢失历史记录),或者使用git-mv重做所有更改之外,还有其他方法吗?
72 git 

14
如何在CENTOS 5.5上安装git?
如何在CENTOS 5.5计算机上安装git?我尝试从yum安装它,但得到了msg的关注。 root@host [~]# sudo yum install git Loaded plugins: fastestmirror Loading mirror speeds from cached hostfile * addons: centos.mirrors.tds.net * base: mirror.ubiquityservers.com * extras: mirrors.serveraxis.net * updates: pubmirrors.reflected.net addons | 951 B 00:00 base | 2.1 kB 00:00 extras | 2.1 kB 00:00 updates | 1.9 kB 00:00 Excluding …
72 git  centos5 


6
如何在commit-msg挂钩中提示用户?
如果用户的提交消息未遵循某些准则,我想警告用户,然后为他们提供编辑其提交消息,忽略警告或取消提交的选项。问题是我似乎无法访问stdin。 以下是我的commit-msg文件: function verify_info { if [ -z "$(grep '$2:.*[a-zA-Z]' $1)" ] then echo >&2 $2 information should not be omitted local_editor=`git config --get core.editor` if [ -z "${local_editor}" ] then local_editor=${EDITOR} fi echo "Do you want to" select CHOICE in "edit the commit message" "ignore this warning" "cancel the …


8
使用git时,有没有一种方法可以锁定fork上的单个文件或目录?
我们是一个由60多个开发人员组成的团队,他们致力于同一产品,并且正在从SVN迁移到Git和GitHub。SVN中有一个过程,其中单个文件中的文件被锁定,并且每当开发人员要提交代码时,他都需要文件所有者将其解锁。我们三个人是150多个文件总数的所有者。解锁之前需要进行代码审查。 在Github中,我们计划使用Fork-Clone模型-一个开发小组正在处理的每个项目都将创建一个fork,每个开发人员都将创建一个fork的克隆,编写代码并提交至origin,即功能将向上游发出拉动请求。 尽管这看起来不错,但问题在于大型项目交付时,它带来了许多更改以供审核,因此增加了文件所有者的负担。另外,这可能会在以后的开发周期中发生,因此该项目可能会受到威胁。 我们认为一种可行的方法是在将git push到原点(叉子)时使用钩子。最终可以将git pull移到上游。 但是,我们找不到相同的任何github扩展或推钩。有没有一种快速的方法(阅读的,现有的扩展名)可以用Github做到这一点,还是应该使用与git相同的钩子?

1
Windows版Git-scm,msysGit和Git之间的区别
git-scm(从git-scm.com下载)和msysGit(托管在Google Code,Github以及其他地方)之间有什么区别?它们看起来都非常相似,即使我有git-scm,我也已应用了为msysGit指定的修复程序,并且它们似乎工作正常。 另外,哪一个(如果有的话)是Git for Windows,并且都被称为Git Bash,或者两者都具有Git Bash外壳,或者只有两者之一?

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.