javascript

java

python

c#

android

c++

node.js

php

html

jquery

ios

reactjs

css

.net

git

ruby-on-rails

sql

c

ruby

string

在Git中,“-”(破折号)是什么意思?

阅读有关Git命令的手册页时,通常会看到一个可选的--(破折号)。 以我的经验,这不是必需的--945,并且没有区别。 您什么时候需要它? 考虑到它出现在这么多命令中,它通常意味着什么?

trans by 2020-06-27T22:23:56Z

svn-在Git和Subversion中,如何在终端上找到当前用户?

在Perforce中,我可以运行p4 info检查我是谁,这是p4文档。 终端上的Git和Subversion相当于什么?

trans by 2020-06-27T16:08:57Z

bash-使用通配符的“ git add”无法正常运行-我必须CD进入特定目录吗?

当我尝试执行基本的git add *.erb(或任何简单的通配符表达式)时,git无法识别它们(它们)。 附带说明一下,我之前从未做过此事,所以我确定这是一个菜鸟错误,但是我在其他SO职位或我学校的校友列表服务中找不到任何帮助,因此我认为此职位可能是合适的。

对于(一个不同的)示例,git status给我:

#   modified:   config/routes.rb
#   modified:   spec/models/question_spec.rb

我只想暂存路由文件,所以我尝试了git add * s.rb并且没有骰子。 我在应用程序的根目录中...是否需要在包含要将通配符表达式应用到的文件的目录中? 那会很痛苦,但是……实际上……它确实起作用了。

希望这不必是一个单独的文章,但是有没有一种更简单的方法可以在不需要cd进入特定目录的情况下使用通配符?

trans by 2020-06-27T15:31:35Z

水银<-> git备忘单?

是否有备忘单或Wiki页面将git push origin :refs/heads/foo命令与hg pull命令相关,反之亦然?

我想知道的原因有两个:第一,我希望能够将git push origin :refs/heads/foo-speak1转换为Mercurial,第二,我想知道听起来相似的命令之间的细微差异(例如hg pullgit pull)。

1个案例:git push origin :refs/heads/foo

trans by 2020-06-27T03:07:40Z

是否可以将本地Git克隆视为克隆它的存储库的完整备份?

假设我已使用以下命令将Git存储库克隆到本地磁盘:

git clone username@git.example.com:someproject.git

现在,假设没有备份git clone --mirror,而它掉在一片光荣中。 我的克隆是否包含重建丢失的远程存储库所需的一切? Git Magic的Ultimate Backups部分建议答案是“是”,但我不清楚。

请注意,我不是在问“本地克隆是否是git clone --mirror分支的足够备份?” 我在问我的本地克隆是否可以视为远程回购中包含的所有内容的完整备份; 所有分支,所有标签,所有内容。 例如,在本地存储库中未跟踪的远程分支怎么办?

更令人困惑的是,git clone --mirror的存在向我表明我的本地克隆不应被视为远程回购的完整备份。

trans by 2020-06-27T02:51:18Z

有没有一种方法可以配置git仓库拒绝'git push --force'?

我想知道是否有办法防止存储库中的“ git push --force”(仅在主分支上)?

假设我有远程git存储库并执行以下操作:

  • 'git push --force'更改为'master'。 有用。
  • 'git push --force'到'branch-1'。 有用。
  • 'git push --force'更改为'master'。 它被拒绝了。

可能吗

感谢您的任何答案和建议。

BR大卫。

trans by 2020-06-27T02:47:34Z

git-如何使用类似curl的命令获取远程仓库的最后提交ID?

我想获取远程git仓库的最后提交ID。

命令git rev-parse HEAD适用于本地克隆的git repo,但是我想通过CURL命令从原始GIT repo中获取它。

例如:我想获取git URL的最后提交ID [https://git.appfactorypreview.wso2.com/history/apiapp.git/。]

怎么样?

trans by 2020-06-27T01:23:41Z

tortoisegit-Windows Git Bash可以将TortoiseMerge用作difftool吗?

我刚刚开始使用Git。 我想将TortoiseMerge用作difftool和mergetool。

在我的个人用户目录中的.gtconfig中,有以下部分。 我已经删除了该问题的用户和颜色部分。

[merge]
    tool = tortoisemerge
[mergetool "tortoisemerge"]
    cmd = \"TortoiseMerge.exe\" -base:\"$BASE\" -mine:\"$LOCAL\" -theirs:\"$REMOTE\" -merged:\"$MERGED\"
[diff]
    tool = tortoisemerge
[difftool "tortoisemerge"]
    cmd = \"TortoiseMerge.exe\" -base:\"$BASE\" -mine:\"$LOCAL\" -theirs:\"$REMOTE\" -merged:\"$MERGED\"

如果我在Git Bash提示符下键入tortoisemerge,则会加载它。 众所周知,它正在路上。 但是,如果键入命令,则会出现以下错误。

Rich:mygittest (master *)
$ git difftool
error: 'tortoisemerge' can only be used to resolve merges
merge tool candidates: kompare emerge vimdiff
No known merge resolution program available.
external diff died, stopping at readme.txt.
Rich:mygittest (master *)
$ 

我不了解要执行此工作吗?Tortoisemerge与TortoiseSVN一起安装。

trans by 2020-06-26T23:19:00Z

git-Visual Studio 2015如何将分支合并到master中?

我是GIT的新手,到目前为止,我一直在使用Visual Studio Online TFS进行版本控制,并且我是唯一的开发人员。 当我创建上一个项目时,我误以为GIT是为此的最佳选择。

因此,我登记了我的主人。 然后,当我要使用某个功能部件时,我读到我必须创建一个分支(在TFS中不是必需的),所以我创建了“ development_print”作为新的分支并使用了该功能部件。

现在,我的功能已经完成,但是我不知道如何将其合并回master。 我目前对多个分支都不感兴趣,只想将我的新功能合并到master中并保留在master中。

在VS中,有一个merge branch选项,但是它只允许我合并到development_print(我希望将功能合并到master!),所以它不允许我设置Into Current分支,并且对于从分支合并显示:

  • 发展历程
  • 起源/发展_打印
  • 起源/主人

哪一种令人困惑? 似乎倒退了。 那么,如何在不失去我对该功能所做的所有工作的情况下摆脱困境呢?

trans by 2020-06-26T18:57:51Z

git-Composer-使用本地存储库

我是Composer的初学者,我试图使一个项目依赖于另一个项目,而这两个项目仅存在于本地计算机上。

我的图书馆项目(ProjectA)中的composer.json是:

{
    "name" : "project/util",
    "type" : "library"
}

我在该项目的基本文件夹中初始化了git。

我在项目中的composer.json取决于第一个(ProjectB):

{
    "repositories": [
        {
            "name" : "util", 
            "type" : "git",
            "url" : "/d/workspaces/util"
        }   
    ],

    "require": {
        "project/util" : "*"
    },
}

当我从ProjectB运行[RuntimeException] Failed to clone , could not read packages from it fatal: repository '' does not exist 时,出现以下错误:

[RuntimeException]
Failed to clone , could not read packages from it
fatal: repository '' does not exist

我认为存储库的URL出了问题,但是我不确定在那里还要写些什么。

trans by 2020-06-26T18:42:04Z

查询git reflog以获取对特定fi的所有提交

是否可以检查git reflog中是否有对特定文件的所有提交。

我对文件foo.txt进行了提交,现在它不再通过git历史记录显示

git log foo.txt

我想搜索reflog以查找对该文件的所有提交,因此我可以找到我的“丢失”提交。

trans by 2020-06-26T11:48:43Z

git-如何保护github中的“ master”?

我的github项目中有几个贡献者。 我只允许其中一个“推”掌握。 这个家伙不是我(存储库的所有者)。 有可能吗?

trans by 2020-06-26T10:13:57Z

做git pull时如何强制更新?

我正在做一个开源库的git pull,我不在乎我的本地副本是什么,我只想用原始版本更新它。

即它可以吹走我的本地更改。

trans by 2020-06-26T06:15:32Z

如何使WinMerge成为我的git mergetool?

我正在尝试将WinMerge与Git集成在一起,因为我之前已经在Windows 7 Ultimate上看到其他功能。

我已经按照以下步骤操作,但是当我执行默认为vimdiff的git mergetool时,仍然会继续显示错误。

在git的根目录中创建了一个名为winmerge.sh的文件:C / Program Files(x86)/ Git /,其中:WinMergeU是正确的位置。

#!/bin/sh
echo Launching WinMergeU.exe: $1 $2
"C:/Program Files (x86)/WinMerge/WinMergeU.exe" 
git /e /u /dl "Base" /dr "Mine" "$1" "$2"

并使用了以下命令。

git config --global diff.tool winmerge
git config --global difftool.winmerge.cmd "winmerge.sh \"$LOCAL\" \"$REMOTE\""
git config --global difftool.prompt false

错误显示为:

git config option merge.tool set to unknown tool: winmerge
trans by 2020-06-26T04:51:07Z

可以包含在构建中以实现可追溯性的“ svn信息”的Git替代品?

我正在寻找Git替代“ svn信息”。

今天,我添加了一些信息,Subversion通过“ svn info”命令直接向我提供了该信息,然后将其推送到源文件中,该文件在启动时将其打印出来。这样,我始终知道该构建来自何处以及如何重新获得它。

如果您具有“ svn信息”(例如URL,存储库根目录,存储库UUID和修订版),则可以在已部署内容和构建系统之间建立良好的链接。而且,如果有人报告了一个错误,则您知道该软件的来源,并且由于该信息是自动包含的,因此人为错误的风险较小。

现在的问题是,我需要从Git获得什么信息,以便以后可以识别出该构建的来源? 以及如何使用这些信息来切换回确切的版本?

(也许因为Git是分布式的,所以我还需要添加一些有关“构建计算机”的信息。)


更新:使用rev-parse确实很有用,我得到了以下信息:

cj@zap:~/git_test$ git rev-parse HEAD
72ce5f3e13c61f76fde5c58cefc85eed91b6f1f8

有了这个魔术数字,以后就可以做到:

cj@zap:~/git_test$ git checkout 72ce5f3e13c61f76fde5c58cefc85eed91b6f1f8

然后我回到了原来的位置。


更新:我认为,如果我从VonC提供的脚本中摘取一部分并将其放入我的buildfile中,我将得到我想要的结果。


更新:

关于“ git describe”的注释。 您需要在分支历史中的较早位置使用真实标签(标签-a)来使此工作有效,否则您将获得类似的内容。

fatal: cannot describe '72ce5f3e13c61f76fde5c58cefc85eed91b6f1f8'

默认情况下,Git Tag做错事中也描述了该问题。

但是请注意,即使这是一条错误消息,结帐似乎仍然可以工作。

git checkout 72ce5f3e13c61f76fde5c58cefc85eed91b6f1f8

不过,正常情况似乎是您创建了类似“ ver1.0”标签的内容,然后如果您继续工作,则会得到以下内容:

cj@zap:~/git_test$ git describe 
ver1.0-2-g4c7a057
cj@zap:~/git_test$ git tag -a ver2.0
cj@zap:~/git_test$ git describe 
ver2.0
cj@zap:~/git_test$ git commit . -m "something..."
Created commit ac38a9d: something...
 1 files changed, 1 insertions(+), 0 deletions(-)
cj@zap:~/git_test$ git describe 
ver2.0-1-gac38a9d

因此,当您正确使用describe时,它确实可以工作,并且可能会产生更易于理解的结果,并且它实际上也很有用。

trans by 2020-06-25T20:57:58Z

git:如何将外部目录添加到存储库?

我想将外部目录添加到现有存储库中。

外部目录:/ home / some /目录

工作目录:/htdocs/.git

如果我尝试从/ htdocs目录执行以下命令:

git添加/ home / some /目录

我收到一个错误:致命:“ / home / some / directory”在存储库外部

trans by 2020-06-25T19:33:40Z

git-我可以直接从Google云端硬盘直接推/拉吗?

有一些方法可以通过Google驱动器同步Windows应用程序将本地git存储库同步到我的Google驱动器,但是我想知道是否可以完全绕过它的需要。

来回

$ git remote add origin https://drive.google.com/<my_folder>/<my_repository>.git
$ git push github master
trans by 2020-06-25T18:42:07Z

ssh-ssh_exchange_identification:Git bash下的远程主机关闭了连接

我在win7工作,并使用sshd设置了git服务器。我BEGIN,并在Cywgin中正确克隆了END。 但是我需要再次配置Cygwin的git,我想在Git Bash中进行git clone。 我运行git clone ssh://git@localhost/home/git/myapp.git并收到以下消息

ssh_exchange_identification: Connection closed by remote host

然后我在Git Bash中运行BEGIN并获取消息

debug2: ssh_connect: needpriv 0
debug1: Connecting to localhost [127.0.0.1] port 22.
debug1: Connection established.
debug1: identity file /c/Users/MoreFreeze/.ssh/identity type -1
debug3: Not a RSA1 key file /c/Users/MoreFreeze/.ssh/id_rsa.
debug2: key_type_from_name: unknown key type '-----BEGIN'
debug3: key_read: missing keytype
debug3: key_read: missing whitespace 
// above it repeats 24 times
debug2: key_type_from_name: unknown key type '-----END'
debug3: key_read: missing keytype
debug1: identity file /c/Users/MoreFreeze/.ssh/id_rsa type 1
debug1: identity file /c/Users/MoreFreeze/.ssh/id_dsa type -1
ssh_exchange_identification: Connection closed by remote host

看来我的私钥格式有误? 而且我发现私钥中恰好有25行,没有BEGINEND。我很困惑为什么它说不是RSA1密钥,我完全确保它是RSA 2密钥。

欢迎任何建议。顺便说一句,我已经阅读了有关此问题的google前3页。

trans by 2020-06-25T18:32:38Z

使Git“ LF将被CRLF取代”警告消失

我已经安装了Git,所以它不会提交不一致的行尾。 这样做的问题是,即使文件没有被修改,一大堆文件似乎也被修改了。 如何键入以使这些文件的行尾在本地固定?

# git checkout dev
M   src/au/policy/dao/EmailQueue.java
M   src/au/policy/dao/EmailQueueFactory.java
M   src/au/policy/dao/PolicyPublisher.java
Already on 'dev'

# git diff
warning: LF will be replaced by CRLF in src/au/policy/dao/EmailQueue.java
warning: LF will be replaced by CRLF in src/au/policy/dao/EmailQueueFactory.java
warning: LF will be replaced by CRLF in src/au/policy/dao/PolicyPublisher.java

这是我添加到我的git配置文件中的内容,除了该问题外,它似乎还可以实现我的预期:

autocrlf = true
trans by 2020-06-25T17:20:09Z

git HEAD和当前项目状态之间的区别?

我引用了一个git教程:

git diff shows the diff between HEAD and the current project state

我不知道那是什么意思。 HEAD不是当前活动的项目吗?

谢谢

trans by 2020-06-25T16:52:03Z

上一页 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 下一页 共134页