我在提交消息中写了错误的东西.或者,我忘了包含一些文件.
如何更改提交消息/文件?提交尚未被推送.
我克隆了一个Git存储库,它包含大约五个分支.但是,当我这样做时,git branch我只看到其中一个:
$ git branch
* master
Run Code Online (Sandbox Code Playgroud)
我知道我可以git branch -a看到所有分支,但是我如何在本地拉出所有分支,所以当我这样做时git branch,它显示以下内容?
$ git branch
* master
* staging
* etc...
Run Code Online (Sandbox Code Playgroud) 我在一个有两个分支A和B的项目上工作.我通常在分支A上工作,并从分支B合并东西.对于合并,我通常会这样做:
git merge origin/branchB
Run Code Online (Sandbox Code Playgroud)
但是,我还想保留分支B的本地副本,因为我可能偶尔会检查分支而不先与我的分支A合并.为此,我会这样做:
git checkout branchB
git pull
git checkout branchA
Run Code Online (Sandbox Code Playgroud)
有没有办法在一个命令中执行上述操作,而无需来回切换分支?我应该用git update-ref它吗?怎么样?
我曾经对红宝石,宝石和所有相关的东西都没有任何问题.但在安装X Code Developer Tools并升级到Lion后,宝石无法安装.
我得到每个宝石的以下错误.这是sqlite的消息作为示例:
Building native extensions. This could take a while...
ERROR: Error installing sqlite3:
ERROR: Failed to build gem native extension.
/System/Library/Frameworks/Ruby.framework/Versions/1.8/usr/bin/ruby extconf.rb
mkmf.rb can't find header files for ruby at /System/Library/Frameworks/Ruby.framework/Versions/1.8/usr/lib/ruby/ruby.h
Gem files will remain installed in /Library/Ruby/Gems/1.8/gems/sqlite3-1.3.4 for inspection.
Results logged to /Library/Ruby/Gems/1.8/gems/sqlite3-1.3.4/ext/sqlite3/gem_make.out
Run Code Online (Sandbox Code Playgroud)
什么地方出了错?怎么解决?
我已经使用该--track选项设置了跟踪分支,当我执行操作git pull时master,它会获取所有分支origin/branchname但不与本地跟踪分支合并.这是额外的烦人,因为如果我以后做一个git push上master,它说,非快速向前更新被拒绝在跟踪分支,因为他们并没有在最初的快速转发git pull.
我的问题是:如何git pull通过获取所有分支并自动快进所有跟踪分支来实现它?
注意:git pull用于使用我的GitHub存储库快速转发所有跟踪分支,但现在我已经使用Gitolite建立了自己的存储库,这个问题正在出现.
我有一个git存储库(目前)有三个分支:
head是稳定的版本(不要与git混淆HEAD)experimental是实验代码; 它应该编译norman是我的沙箱; 其中的代码可能会被破坏"master"git repo位于备份的文件服务器上.但我在本地磁盘,家里的机器和笔记本电脑上都有复制品.(我准备随时随地编写代码).
git branch -a 说明:
experimental
head
* norman
tufts/HEAD
tufts/experimental
tufts/head
tufts/norman
Run Code Online (Sandbox Code Playgroud)
塔夫茨分支机构是"主"仓库的远程分支机构.本地分支机构应该跟踪; git config -l | grep -w remote说:
remote.tufts.url=linux.cs.tufts.edu:/r/ghc/git/experimental.git
remote.tufts.fetch=+refs/heads/*:refs/remotes/tufts/*
branch.experimental.remote=tufts
branch.head.remote=tufts
branch.norman.remote=tufts
Run Code Online (Sandbox Code Playgroud)
这是我的问题:如何使用单个git命令同时更新远程对应的所有本地分支?
git-fetch并不是很有效; 它更新它对每个远程分支的内容的了解,但它不会将它们合并到本地.并且显然git-pull只更新当前已检出的分支.我想立刻更新所有分支机构.可以吗?
(我并不狂热
for i in `git branch | sed 's/^.//'`; do git checkout $i ; git pull; done
Run Code Online (Sandbox Code Playgroud)
部分是因为我不清楚工作目录中修改过的文件发生了什么,而这一切都在继续,部分是因为我需要更多的shell代码来保存和恢复有关我目前所在分支的信息.)
我找到一个(不是非常密切相关)的问题:
为什么git pull从存储库获取所有分支但git pull origin master不是?我发现它很难.它是这两个命令之间唯一的功能区别吗?
像这样的解释告诉我什么:
git pull= git fetch origin+git merge origin/master
git pull origin master= git fetch origin master+git merge FETCH_HEAD
我知道还有其他问题可以解决这个问题的变体.就是这一个.
问题在于答案假设所有本地分支机构已经在跟踪某个远程分支(甚至远程存在).
我现在面临的问题是我正在与一个远程团队合作,有时他们可能会创建一个我本地没有的远程分支.
我如何在1命令中将最新的更改拉到我在本地跟踪的分支上,并拉出我未跟踪的所有分支的最新版本.
当我这样做时git pull --all,只需拉出最新的跟踪分支.
谢谢.
编辑:
我有两个遥控器 - bitbucket和heroku.
我想从我的bitbucket遥控器拉出所有分支....而不是从我的heroku遥控器.
我这样做了:
$ git pull bitbucket --all fatal: fetch --all does not take a repository argument
还有这个:
$ git pull --all bitbucket fatal: fetch --all does not take a repository argument
这个:
$ git pull bitbucket Password: You asked to pull from the remote 'bitbucket', but did not specify a branch. Because this is not the default …
说我在本地跟踪3个远程分支机构,master,branch1,branch2.
如果我目前的master分支,将一个git pull fetch和merge变化对每个分支的?
我想我也可以建立一个实验......
git pull --help
将来自远程存储库的更改合并到当前分支中.
我拉git存储库以获取代码的离线视图,并希望获得不同分支的更新代码.如何在不手动拉动每个分支的情况下轻松拉动所有分支的代码?
--all - 获取所有遥控器.
- 所有人都没有帮助.
git ×8
branch ×4
git-pull ×2
gem ×1
git-amend ×1
git-branch ×1
git-checkout ×1
git-commit ×1
git-merge ×1
macos ×1
pull ×1
ruby ×1
rubygems ×1