Tag: git status

git:以编程方式知道分支在远程分支前后的数量

我想提取在git status之后打印的信息,如下所示: # On branch master # Your branch is ahead of 'origin/master' by 2 commits. 当然,我可以parsinggit status的输出,但是这并不推荐,因为这个人类可读的输出可能会改变。 有两个问题: 如何知道远程跟踪分支? 它往往是origin/branch但不一定是。 如何获得数字? 如何知道这是前/后? 通过多less次提交? 那么分歧的情况呢?

“致命的:不是git仓库(或任何父目录)”从git状态

这个命令的作用是获取文件并编译它们: git clone a-valid-git-url 例如: git clone git://cfdem.git.sourceforge.net/gitroot/cfdem/liggghts 然而, git status (或任何其他的git命令)会给出上述fatal: Not a git repository (or any of the parent directories)错误。 我究竟做错了什么?

Git拒绝重置/放弃文件

我有一个项目,我无法更新某些js文件。 我在本地运行OSX,远程/登台服务器是Linux(CentOS)。 在本地克隆我的项目之后,我注意到我已经modified所有那些git状态的文件。 我从来没有修改它们,所以我试图discard changes或reset它们,但他们再次提出。 修改中的更改是删除所有行并重新添加它们。 我不知道为什么会发生这种情况,或者如何解决这个问题,这样我的git状态就可以干净了。 这是git状态的几行: # modified: app/webroot/js/ckeditor/plugins/devtools/lang/el.js # modified: app/webroot/js/ckeditor/plugins/devtools/lang/fa.js # modified: app/webroot/js/ckeditor/plugins/devtools/lang/gu.js 更新1: 我现在已经设法提交上述文件,但是登台服务器被locking,因为它不会提取新的编辑: error: Your local changes to the following files would be overwritten by merge: app/webroot/js/ckeditor/_source/lang/ar.js app/webroot/js/ckeditor/_source/lang/bg.js app/webroot/js/ckeditor/_source/lang/bn.js app/webroot/js/ckeditor/_source/lang/cs.js … Aborting 我不能提交/推送,因为: Updates were rejected because a pushed branch tip is behind its remote counterpart 我试过了: git reset […]

如何让git status只显示staged文件

我想获得一个只有阶段文件名的列表。 我无法为git status命令find–name-only的等效标志。 什么是好的select? 文件列表将被传送到php -l (PHP lint语法检查器)。 解决scheme:完整的命令 git diff –name-only –cached | xargs -l php -l

如何给git-status输出着色?

我想着色git-status输出,所以: untracked files = magenta new files = green modified files = blue deleted files = red 相反,我看到绿色和未分档文件中的分阶段文件是蓝色的: 我的.gitconfig是基于一些search设置以下内容: [color] status = auto [color "status"] added = green changed = blue untracked = magenta deleted = red

如何检查当前分支中是否没有提交?

目标是获得可以在shell命令中评估的明确状态。 我试过git status但它总是返回0,即使有项目提交。 git status echo $? #this is always 0 我有一个想法,但我认为这是一个不好的主意。 if [ git status | grep -i -c "[az]"> 2 ]; then code for change… else code for nothing change… fi 任何其他方式? 更新,现在这个解决scheme看看Mark Longair的post 我试过这个,但是造成了一个问题。 if [ -z $(git status –porcelain) ]; then echo "IT IS CLEAN" else echo "PLEASE COMMIT YOUR CHANGE […]

git status显示修改,git checkout – <file>不会删除它们

我想删除我的工作副本的所有更改。 运行git status显示修改的文件。 我没有做任何事似乎删除这些修改。 例如: rbellamy@PROMETHEUS /d/Development/rhino-etl (master) $ git status # On branch master # Changed but not updated: # (use "git add <file>…" to update what will be committed) # (use "git checkout — <file>…" to discard changes in working directory) # # modified: Rhino.Etl.Core/Enumerables/CachingEnumerable.cs # modified: Rhino.Etl.Core/Pipelines/SingleThreadedPipelineExecuter.cs # modified: Rhino.Etl.Tests/Rhino.Etl.Tests.csproj # modified: […]

Git:只列出“untracked”文件(也是自定义命令)

有没有办法使用像git ls-files这样的命令只显示未跟踪的文件? 我问的原因是因为我使用以下命令来处理所有删除的文件: git ls-files -d | xargs git rm 我想为未跟踪的文件类似的东西: git some-command –some-options | xargs git add 我能find-o选项来git ls-files ,但这不是我想要的,因为它也显示被忽略的文件。 我也能够拿出以下冗长难看的命令: git status –porcelain | grep '^??' | cut -c4- | xargs git add 似乎有一个更好的命令,我可以在这里使用。 如果没有,我该如何创build自定义的git命令?