相关疑难解决方法(0)

看不到远程分支

我仍然学习git而不确定一些基本的东西是如何运作的.我做了一个本地分支:

git branch AppStore
Run Code Online (Sandbox Code Playgroud)

我不记得我是如何将这个分支推送到github.com的,但我可以在存储库中看到MyBranch.当我做

git branch -a
Run Code Online (Sandbox Code Playgroud)

我看到了这个:

  ARC
* AppStore
  Refactoring
  Release3
  master
  remotes/origin/AppStore
  remotes/origin/HEAD -> origin/master
Run Code Online (Sandbox Code Playgroud)

还列出了更多的遥控器.因此,在我创建分支的计算机上,我看到了AppStore分支.但是,我的同事都不能.当我们尝试了

git pull origin AppStore
Run Code Online (Sandbox Code Playgroud)

它抓住了变化.但是当我们尝试时

git checkout AppStore 
or
git checkout origin AppStore
Run Code Online (Sandbox Code Playgroud)

我们无法做到.我们缺少什么?谢谢!

编辑:

我根据VonC的回答尝试了这个:

git push --set-upstream origin AppStore
Run Code Online (Sandbox Code Playgroud)

在输入我的凭据后,我得到:

Branch AppStore set up to track remote branch AppStore from origin.
Everything up-to-date
Run Code Online (Sandbox Code Playgroud)

但我的同事仍然看不到分支: - .

git

16
推荐指数
2
解决办法
4万
查看次数

将包含Eclipse项目的CVS存储库转换为git的最强大的方法?

我有一个情况,我有一个老年人的CVS存储库,我们希望一次性转换为git,同时保持完整的历史记录等.

存储库根目录下的所有文件夹都包含Eclipse项目(普通或动态Web项目),包括.classpath和.project.我们使用Team ProjectSet来检查给定任务所需的项目(项目集位于包含main的项目中,其余是库项目).

签出Team ProjectSet后,工作区将完全填充.

多年来这种方法运作良好(除了3.5附带的项目设置部分),如果可能的话,我们希望以类似的方式使用git,但我们不确定如何.

我玩过一段时间git cvs import但失败了 - 可能是因为我们没有使用模块.

您如何建议我们这样做,以及我们应该如何使用git来允许我们当前使用共享库项目?我们将HAVE介绍Maven和创造我们的图书馆项目的Maven模块?或者只是蚂蚁常春藤?


编辑:我现在设法通过合适的cvs2svn调用将我们的CVS存储库转换为Subversion,并发现Eclipse很好地识别了生成的Subversion存储库.不幸的是在克隆http: //github.com/iteman/svn2git`并尝试运行bin/svn2git之后我得到了

tra@Sandbox:~/cvsgit/svn2git/svn2git$ bin/svn2git
bin/svn2git:35:in `initialize': wrong number of arguments (2 for 1) (ArgumentError)
        from bin/svn2git:35:in `new'
        from bin/svn2git:35
Run Code Online (Sandbox Code Playgroud)

这是与Ubuntu 10.04.1 LTS服务器,我尝试了各种sudo与Ruby及其宝石的东西,但没有完全理解我做了什么,因为我不是一个Ruby程序员,所以我可能搞砸了一些东西.我很感激建议 - 如果最简单的是安装另一个Linux变种来进行转换,那很好.


编辑:

https://help.ubuntu.com/community/Git http://css.dzone.com/articles/subversion-git-morning


编辑:我第一次尝试使用默认的svn2git成功完成(一段时间后),我得到一个很好的存储库,其中git branch -a大致报告

tra@Sandbox:~/gitroot/svnroot$ git branch -a
* master
  remotes/XX64_DEPLOYED_CODE
  remotes/Beta1
  remotes/Beta2
  remotes/SV46
  ... lots more
Run Code Online (Sandbox Code Playgroud)

我们有兴趣能够检查SV46分支并使用它(我们基本上不关心标签,只关心实际的分支).我已经设置了gitosis并将此存储库推送到gitosis,并将其克隆到另一台计算机,以了解如何使用Eclipse进行"使用SV46"位. THAT库不知道所有的分支:

tra@TRA ~/git/git00 (master)
$ git branch -a
* master
  remotes/origin/HEAD -> origin/master
  remotes/origin/master
Run Code Online (Sandbox Code Playgroud)

我是否需要按照svn2git的原始结果来获取gitosis存储库中的信息?我需要用参数克隆吗?我应该使用建议的版本而不是Ubuntu附带的版本重做svn2git步骤吗?

编辑:事实证明,使用"git …

java eclipse git cvs

9
推荐指数
1
解决办法
2293
查看次数

如何在git中将2个分支从本地推送到远程仓库?

我在当地有2个分支,例如:

  • FirstApp
  • SecondApp

如何将它们都推送到远程仓库?我还需要在远程创建两个分支吗?

非常感谢!

git

7
推荐指数
1
解决办法
6583
查看次数

从原点拉出所有分支

我可以这样说:

git push --all origin
Run Code Online (Sandbox Code Playgroud)

它会将所有分支推向原点.但如果我这样做:

git pull --all origin
Run Code Online (Sandbox Code Playgroud)

然后它不会原点拉出所有分支,它只返回一个错误:

fatal: fetch --all does not take a repository argument
Run Code Online (Sandbox Code Playgroud)

好的,我这样做:

git pull --all
Run Code Online (Sandbox Code Playgroud)

买还是说:

You asked to pull from the remote '--all', but did not specify
a branch. Because this is not the default configured remote
for your current branch, you must specify a branch on the command line.
Run Code Online (Sandbox Code Playgroud)

那么如何从原点拉出所有分支(就像我所有分支送到原点git push --all origin)?

git

7
推荐指数
2
解决办法
3558
查看次数

如何将所有新的上游分支与我的 fork 同步?

前段时间我分叉了一个 git repo。从那以后,有几个新的提交到 master 分支。https://help.github.com/articles/syncing-a-fork/解释了如何将上游主分支与本地主分支同步,然后将这些提交推送到我的分支。

但是它没有提到如何同步新的上游分支。当我最初在 github 上 fork 项目时,它看起来像它带来了所有当时的分支。

我看过有关如何一次同步一个分支的解释。有没有办法一次同步所有新旧分支?

I haven't made any commits to my fork. Thus I am looking for a fast forward sync.

Edit: Another way to say this:

I want

git ls-remote origin
Run Code Online (Sandbox Code Playgroud)

to match

git ls-remote upstream
Run Code Online (Sandbox Code Playgroud)

This would include branches and tags.

git github

7
推荐指数
1
解决办法
4946
查看次数

IntelliJ - 如何使用不同的ssh密钥

我有2个github帐户公司一个和个人帐户

我使用cygwin来管理我的ssh密钥并连接到Github

一切正常在IntelliJ中使用公司帐户,因为它使用默认的.ssh/id_rsa键

使用我的个人帐户,Everthing在Cygwin中正常工作,因为我可以使用"ssh-add~/.ssh/ide_rsa_otherkeyfile"命令,然后通过命令行使用所有git命令

但IntelliJ始终默认为"id_rsa"文件,因此我无法连接到我的个人仓库.

IntelliJ有没有办法使用其他rsa密钥?

所有这些RSA和cygwin都高于我的linux命令行体验级别.

注意:我还在.ssh目录中创建了配置文件,以方便多个github帐户

Default GitHub user (corporate account) 
Host github.com HostName
github.com User git IdentityFile/Users/username/.ssh/id_rsa

Client user (personal account)
Host github-client
HostName github.com
User git IdentityFile /Users/username/.ssh/id_rsa_perso
Run Code Online (Sandbox Code Playgroud)

简而言之,它的作用是告诉SSH在连接到服务器github-client时使用客户端密钥,这实际上是github.com.

如果没有人有解决方案,我知道邀请我的公司帐户作为贡献者会更容易,但之后我会在2个单独的电子邮件帐户下提交.

git rsa github intellij-idea

6
推荐指数
2
解决办法
6127
查看次数

如何恢复git pruned远程分支?

对于已通过删除的远程分支git prune --all origin,如何恢复它们?

假设

有超过100个分支机构,由20人的团队共享,每个人都在不同的分支机构工作.

git

6
推荐指数
1
解决办法
2278
查看次数

git push error"错误:src refspec xxx与any不匹配." 使用git flow

我曾经在我的私人git服务器上创建一个repo

git init --bare
Initialized empty Git repository in /home/poc/git_repo/local_display_multi_langs            .git/
Run Code Online (Sandbox Code Playgroud)

然后我试着add remote在我的mac上工作.

git remote add origin ssh://poc@172.19.16.101/home/poc/git_repo/local_display_multi_langs.git
Run Code Online (Sandbox Code Playgroud)

执行以下命令

  514  git flow init
  519  git flow feature start read_xml
  524  git ci -am "first ci"
Run Code Online (Sandbox Code Playgroud)

然后尝试将所有分支推送到我的私有git服务器的repo并获得如下例外

[src] $ git push origin feature
poc@172.19.16.101's password:
error: src refspec feature does not match any.
error: failed to push some refs to 'ssh://poc@172.19.16.101/home/poc/git_repo/local_display_multi_langs.git'
Run Code Online (Sandbox Code Playgroud)

我错过或误用了一些步骤吗?

如何将我的工作副本上的所有分支推送到远程服务器?

然后当我从我的git服务器克隆项目时.

如何获得新的克隆项目和原始项目是完全相同的.

谢谢

感谢@VonC

现在,我可以将本地工作副本上的所有分支推送到远程服务器

git push origin --all

但是当我ssh://poc@172.19.16.101/home/poc/git_repo/local_display_multi_langs.git 在另一个文件夹下执行git clone时.

[local_display_multi_langs] $ git …
Run Code Online (Sandbox Code Playgroud)

git github git-flow

6
推荐指数
1
解决办法
1万
查看次数

Git使用普通名称获取一次分支,并使用大写字母获取一次

我正在寻找远程分支并陷入某种循环.

我取一次然后得到:

$ git fetch
* [new branch]      minorRelease/something-> origin/minorRelease/something
Run Code Online (Sandbox Code Playgroud)

然后我再次获取并得到:

$ git fetch
* [new branch]      minorRelease/Something-> origin/minorRelease/Something
Run Code Online (Sandbox Code Playgroud)

相同的分支但有资本S.

我试图从以下文件夹中删除该文件.git/refs/remotes/origin/minorRelease,但是当再次获取时,我得到两个并返回上面的循环:

$ git fetch
* [new branch]      minorRelease/Something-> origin/minorRelease/Something
* [new branch]      minorRelease/something-> origin/minorRelease/something
Run Code Online (Sandbox Code Playgroud)

git case-insensitive remote-branch git-fetch

5
推荐指数
1
解决办法
3506
查看次数

git checkout感到困惑

我是git的新手,并试图围绕分支的工作方式.根据文档git checkout

更新工作树中的文件以匹配索引或指定树中的版本.如果>没有给出路径,git checkout也会更新HEAD以将指定的分支设置为>当前分支.

所以据我所知,我工作的目录中的文件(我执行git init的文件)应该根据我所在的分支进行更改.我很困惑,因为当我在分支之间切换时不会发生这种情况.在切换分支之前我正在编辑的编辑存在于我切换到的分支中.我做错了什么或git checkout不能这样工作,我只是误解了文档?

git

4
推荐指数
2
解决办法
2699
查看次数