javascript

java

python

c#

android

c++

node.js

php

html

jquery

ios

reactjs

css

.net

git

ruby-on-rails

sql

c

ruby

string

版本控制-git push到远程分支

民间,

我已经克隆了一个仓库。 我通过发出以下命令从中创建了一个分支来处理功能:

git push origin master:fix78

然后我在那个分支工作

git push origin master:fix78

我继续向该本地分支机构作出承诺。 现在我想将其推送到仓库中,因此发出了以下命令:

git push origin master:fix78

我从Web浏览器查看了存储库,发现在存储库上创建了一个名为fix78的新分支。 但是它没有我所做的任何承诺。

我在这里做错了什么? 这是我要实现的目标:

有一个仓库(master(在SVN语言中为trunk)),现在当我使用某个功能时,我想为其创建一个本地分支,然后我也想将该分支签入仓库(以便其他团队使用) 成员可以看到我的工作),然后希望本地分支与我创建的远程分支同步。

任何帮助/反馈都将非常棒。

谢谢。

trans by 2020-02-11T15:50:41Z

从远程Git存储库中删除所有文件和历史记录,而不删除其存储库

如果有人能告诉我如何删除git存储库中的每个文件/文件夹而不实际删除存储库本身,我将不胜感激。 我也想删除与这些文件关联的所有历史记录。

trans by 2020-02-11T13:41:51Z

git-fatal:您当前分支的上游分支与您当前分支的名称不匹配

使用Git GUI对远程分支.git/config进行签出后,当我尝试rel_5.4.1时,我看到了此意外错误消息:

fatal: The upstream branch of your current branch does not match
the name of your current branch.  To push to the upstream branch
on the remote, use

    git push origin HEAD:releases/rel_5.4.1

To push to the branch of the same name on the remote, use

    git push origin rel_5.4.1

我不知道Git在说什么。 我可能想推送至.git/config,因为那是我签出的分支。 所以这两种选择对我来说都不正确。

.git/config说我在分支rel_5.4.1上。

这是我的.git/config中显示的分支:

[branch "rel_5.4.1"]
    remote = origin
    merge = refs/heads/releases/rel_5.4.1

到底是怎么回事?

trans by 2020-02-11T02:57:27Z

github-Git:强制用户和密码提示

我最近将本地Git安装从<proj>/.git/config更新到了~/.netrc

我注意到,当我在GitHub上工作时,它不再提示我输入用户名和密码。

这让我感到困扰,因为我认为每次都必须输入用户名和密码,这是一种很好的安全措施。 (如果有人使用我的计算机怎么办?)

我检查了以下内容:

  • 另一台计算机上的~/.netrc仍要求输入用户名和密码。
  • 我在github上的帐户仍然执行私有/安全控制。
  • 我正在使用https远程引用,而不是ssh。
  • 为了很好,我检查了我的~/.netrc火锅。 那里没事。
  • 我没有将登录详细信息存储在~/.netrc或单个<proj>/.git/config文件中。
  • 我也没有在~/.netrc中存储任何与github相关的内容。
  • 我创建了一个新的虚拟存档:仍然不提示我登录。

我在git发行说明档案中找不到任何内容。

有人知道这是否是新的git行为吗? 如何还原提示?

trans by 2020-02-11T02:21:17Z

显示先前的git合并中涉及的提交

假设我从develop分支创建了hotfix分支,进行两次提交,将其合并回到develop分支,并销毁hotfix分支。

我如何找出哪些提交是合并的一部分? 那可能吗?

trans by 2020-02-11T00:52:22Z

github-哪个是更聪明的git协议,ssh或git(over ssh)或https协议?

哪个有效? [SSH://]或[Git://](文件压缩)

我在Git中了解到,git协议很聪明,因为通信的两端都有一个协议代理来压缩文件传输,从而可以通过有效利用网络带宽来加快克隆速度。

从O'Reilly的书中,我发现以下陈述。

For secure, authenticated connections, the Git native 
protocol can be tunneled over an SSH connection using
the following URL templates:

ssh: //[user@]example.com[:port]/path/to/repo.git
ssh: //[user@]example.com/path/to/repo.git
ssh: //[user@]example.com/~user2/path/to/repo.git
ssh: //[user@]example.com/~/path/to/repo.git*

我不确定作者是否是他的意思。 他谈到git协议通过SSH隧道传输。

从我的角度来看,除非您连接到git端口(代理端口),否则该协议无效。 SSH仅仅是未压缩的文件传输。
但是根据作者的说法,如果我们使用SSH,他说git协议是通过它传输的。 SSH在GIT中更智能吗?

冯C,感谢您的回答。 当您使用git clone ssh://user@server/reposloc运行守护进程时,可以将“网络协议(HTTP和Git)设为只读”,将Git设置为rw

以下是我的担忧。
当他们说git协议很聪明时,意味着您执行git clone时,git服务器代理会压缩发送回客户端的数据,因此克隆应该更快。 在我的用例中,我将在香港设置git服务器,并在圣何塞和其他国家/地区使用它,因此由于延迟问题,我希望通过网络高效运行。

所以我的问题是,当我使用git clone ssh://user@server/reposloc时,我还能同时获得git协议的好处吗? 根据O'Reilly的著作,他的意思是git是通过ssh隧道传输的,那么当我没有在服务器上运行git守护程序时,git协议如何工作。

因此,使用[SSh:// xyz ...]是否同时提供ssh和git协议的优势?

提前欣赏您的答案。

trans by 2020-02-10T17:12:44Z

javascript-无法将“ react-scripts”识别为内部或外部命令

我有一个maven项目,其中的JavaScript项目被克隆为git子模块。 所以目录结构看起来像

node version : 9.3.0

在我的package.json中,测试看起来像这样:node version : 9.3.0

但是当我尝试运行npm test时说

'react-scripts'不被识别为内部或外部命令,

有趣的是,当我独立克隆javascript项目时,不会出现此错误。 我尝试重新运行node version : 9.3.0

node version : 9.3.0

node version : 9.3.0

trans by 2020-02-10T16:35:01Z

git-分布式版本控制系统和企业-好的组合?

我可以看到为什么分布式源代码控制系统(DVCS-Mercurial)对于开源项目有意义。

但是它们对企业有意义吗? (通过集中式源代码控制系统(例如TFS))

DVCS的哪些功能使其更适合或更不适合拥有许多开发人员的企业? (通过集中式系统)

trans by 2020-02-10T12:58:51Z

github-无法推送到git存储库-权限被拒绝

我有以下问题:

$ git push -u origin master
Permission denied (publickey).
fatal: Could not read from remote repository.

Please make sure you have the correct access rights
and the repository exists.

我已经检查了这样做的连接:

$ ssh -vT git@github.com

输出看起来不错,我已正确通过身份验证。

在进一步检查时,我注意到:

$ ssh-add -l
The agent has no identities.

我试图运行ssh-agent,但没有任何变化:

$ ssh-agent
SSH_AUTH_SOCK=/tmp/ssh-A1mhFqvqncuO/agent.766; export SSH_AUTH_SOCK;
SSH_AGENT_PID=767; export SSH_AGENT_PID;
echo Agent pid 767;
$ ssh-add -l
Could not open a connection to your authentication agent.

我正在使用Arch Linux。 任何帮助将不胜感激! 提前致谢!

Github诊断帮助在这里。

trans by 2020-02-09T18:52:32Z

分支-警告:使用git-svn时,refname'xxx'不明确

我正在使用git作为Subversion的前端(通过git svn)。

因此,对于每个svn中继/分支,我在git中都有一个名为“ remotes / xxx”的远程分支。 例如“ remotes / trunk”,“ remotes / coolfeature”。

现在,我希望每个远程分支都有一个“默认”本地分支,以将其用于dcommit。 问题是我希望这样的分支以Subversion分支命名,例如“ trunk”,“ coolfeature”,所以我在git中有以下分支:

trunk
coolfeature
remotes/trunk
remotes/coolfeature

问题是每次我引用“ trunk”或“ coolfeature”时,git都会抱怨分支名称不明确。 没什么大不了,但我感到不舒服。

问题是,假设简单地重命名分支不是我想要做的,那么我该如何处理该警告。 这种情况下的最佳做法是什么?

trans by 2020-02-09T15:41:08Z

如何使用Jenkins Git插件接收本地Git分支名称?

我正在使用Jenkins Git插件(v2.0)的Branch Specifier选项在特定分支上运行构建,例如 origin

在这种情况下origin包含1.4值。

如何获得用于克隆的本地Git分支的名称(即仅origin而没有1.4前缀?

我尝试了origin附加行为,分支名称为1.4,但没有任何更改。

我已经在GitHub上看到了相关的PR,但是它被拒绝了(因为它仅修复了origin808远程的一种情况)。

trans by 2020-02-09T12:47:57Z

如何在一行中的所有子模块上git clone --recursive和checkout master?

我真的很喜欢这个命令来获取带有子模块的仓库:

git clone git@github.com:my_user/my_repo.git --recursive

但是,子模块到达时都被设置为“ no branch”,我必须手动检查每个子模块上的master。 有没有一种方法可以递归拉子模块并自动将分支设置为master?

trans by 2020-02-09T09:40:55Z

git-警告:您将留下1个提交,但未连接到任何分支

EGit再次罢工。 我在EGit中尝试切换到另一个分支时犯了一个错误,它以某种方式弄乱了,没有签出任何分支。 然后,我对该非分支进行了提交,然后当我意识到自己没有跟踪正确的分支时,我运行了以下命令:

$ git checkout issue2
Warning: you are leaving 1 commit behind, not connected to any of your branches:

    bada553d My commit message

If you want to keep them by creating a new branch, this may be a good time to do so with:

    git branch new_branch_name ....

Branch issue2 set up to track remote branch issue2 from origin.
Switched to a new branch issue2. 

既然我已经搞砸了,如何将提交与当前分支关联? 我对创建一个全新的分支不感兴趣,我只想将提交提交到我的分支issue2

trans by 2020-02-09T07:54:24Z

git-当我的分支比master提前5次提交时,如何删除一次提交中的太大文件

我整日忙于这个问题,在这里寻找答案:( ...

语境

我正在一个项目上独自工作,直到现在,我还是使用github来保存我的工作,而不是在计算机上。不幸的是,我在本地存储库中添加了一个非常大的文件:300mb(超过Github的限制)。

我做了什么

我将尝试记录自己所做的事情:

  1. 我(笨拙地)将所有内容添加到索引中:

    git push origin master 
    
  2. 我已做出更改:

    git push origin master 
    
  3. 我试图推向原产地大师

    git push origin master 
    

    花了一段时间,所以我只按了CTRL + C,然后重复了步骤2和3的四次,直到我意识到文件太大而无法推送到github。

  4. 我犯了一个可怕的错误,即删除了我的大文件(我不记得我做了git rm还是简单的rm)

  5. 我按照([https://help.github.com/articles/remove-sensitive-data)]上的说明进行操作

  6. 当我尝试对分支过滤器进行git过滤时,出现以下错误:“无法重写分支:您已取消暂存的更改。”

提前致谢 !

trans by 2020-02-09T07:35:28Z

如何获取git以显示作者日期在指定日期范围内的提交?

显然这:

git log --all --after="<date> 00:00" --before="<date> 23:59" --author="<author>"

根据提交者日期过滤提交。 如何使其显示指定作者日期范围内的提交?

trans by 2020-02-09T04:31:54Z

保持git feature分支最多d的更简单方法

我想知道是否有人对将功能分支与其父分支保持同步有更好的建议。

通常,我们一次要处理多个功能分支,每个分支都来自我们的git push分支。 每天两次将功能分支合并到develop中是很常见的。

为了掌握变更的顶部(即解决冲突),我发现需要保持我正在积极致力于的功能分支最新更新为git push

为此,我每天运行几次以下命令:

git checkout develop
git pull
git checkout feature/foo 
git merge develop 
git push

最后的git push我通常只在与Feature分支上的其他人一起工作时才这样做。

有没有更好或更方便的方法可以做到这一点?

trans by 2020-02-08T22:53:02Z

git show-Git-如何列出数据库中的所有对象

有没有比git rev-list --allcat .git/objects/pack/*.idx | git show-index更好的方式来获取存储库中所有对象的SHA1原始列表?

我知道git rev-list --all,但是仅列出.git / refs引用的提交对象,并且我正在寻找所有内容,包括由git-hash-object,git-mktree等创建的未引用对象。

trans by 2020-02-08T12:52:36Z

git-等待等待的PR时工作

我正在开发一个项目,并且提交了我的第一个请求请求,而在等待期间,我想继续从仍在进行的合并工作中构建项目。 现在我有:

*master
user_story_1

user_story_2具有打开拉取请求。

现在,我试图创建一个新的分支273799605235482727264,在这里我可以继续在user_story_1上剩下的工作。如何在Git中做到这一点而又不引起任何冲突或影响我的待处理合并?

trans by 2020-02-08T04:09:56Z

清除git本地缓存

我有一个要提交的Webstorm项目,但是在按Git Windows GUI中的提交按钮之前,我记得我不想提交git clean -n文件夹内容。

因此,我使用了为某些IDE自动生成git clean -n的网站,并将其添加到我的.gitignore文件中。

尽管我删除并重新添加了有问题的文件,但所有被明确忽略的git clean -n文件仍然显示要提交。

我还提交了gitignore文件,不包含任何其他文件,然后重新粘贴了我的内容,但它仍然没有忽略.idea文件。

如何告诉Git刷新或清除其缓存?
我尝试/ cd进入相关目录,然后输入

git clean -n

但没有文件显示。

trans by 2020-02-08T01:04:17Z

如何仅更新特定的git子模块?

因此,更新所有我的子模块是通过运行

git submodule foreach 'git pull origin master'

如何更新位于bundle/syntastic中的特定子模块,而不更新任何其他子模块?

trans by 2020-02-07T23:57:22Z