要将命令的输出存储为sh/ksh/bash中的变量,您可以执行任一操作
var=$(command)
Run Code Online (Sandbox Code Playgroud)
要么
var=`command`
Run Code Online (Sandbox Code Playgroud)
两种方法之间有什么区别?
有人知道切换和跟踪远程分支这两个命令之间的区别吗?
git checkout -b branch origin/branch
git checkout --track origin/branch
Run Code Online (Sandbox Code Playgroud)
我认为两者都跟踪远程分支,所以我可以将我的更改推送到原点上的分支,对吧?
有什么实际差异吗?
谢谢!
我需要从远程仓库中删除旧的和未维护的分支.我正试图找到一种方法来列出他们上次修改日期的远程分支,但我不能.
有人知道以这种方式列出远程分支的简单方法吗?
当您在github上分叉存储库时,您的分叉存储库包含所有分支和标记.
随着时间的推移,这些分支和标签会过时.
如何使用叉子轻松确保您的叉子具有所有分支和标签而不必重新拼接?
即一个git magicpull --rebase upstream/*myremote/*
它将获取上游的所有分支和标记,并确保myremote中存在相同的分支和标记.
我已经使用该--track选项设置了跟踪分支,当我执行操作git pull时master,它会获取所有分支origin/branchname但不与本地跟踪分支合并.这是额外的烦人,因为如果我以后做一个git push上master,它说,非快速向前更新被拒绝在跟踪分支,因为他们并没有在最初的快速转发git pull.
我的问题是:如何git pull通过获取所有分支并自动快进所有跟踪分支来实现它?
注意:git pull用于使用我的GitHub存储库快速转发所有跟踪分支,但现在我已经使用Gitolite建立了自己的存储库,这个问题正在出现.
如何将所有远程分支拉到我自己的存储库?
如果我输入:
git branch -a
Run Code Online (Sandbox Code Playgroud)
我得到了很长的分支列表,但如果我输入:
git branch
Run Code Online (Sandbox Code Playgroud)
我只看到其中的两个.
如何将所有分支拉入本地列表?
我知道我能做到:
git checkout --track origin/branch-name
Run Code Online (Sandbox Code Playgroud)
但是,它一次只能拉出并检出一个分支.有没有什么方法可以一次性完成所有这一切,而不需要git checkout --track origin/branch-name一遍又一遍地运行这些繁琐乏味的工作?
PS.我尝试了以下命令,没有一个命令使远程分支出现在我的git branch列表中:
git fetch --all
git remote update
git pull --all
Run Code Online (Sandbox Code Playgroud) 我有四个独立的项目.他们有自己的git存储库.和所有项目的分支名称相同.
/project/
/project/projA/
/project/projA/.git/
/project/projB/
/project/projB/.git/
/project/projC/
/project/projC/.git/
/project/projD/
/project/projD/.git/
Run Code Online (Sandbox Code Playgroud)
所有git存储库都具有相同的分支名称,当然还有它们自己的主分支.
我想将所有项目合并为一个如此:
/Project/.git/
/project/projA/
/project/projB/
/project/projC/
/project/projD/
Run Code Online (Sandbox Code Playgroud)
我想保留所有分支的历史.
ps - >我对所有回购都有相同的分支名称.例如:用于所有四个项目的分支名称:V6-004
我尝试了子模块和子树,但两者都没有解决问题.
我也尝试了这个.
$ mkdir new_parent_project
$ cd new_parent_project
$ git init
# Now we need to create the initial commit. This is essential.
$ touch README.md
$ git add README.md
$ git commit -am "initial commit"
Run Code Online (Sandbox Code Playgroud)
后
# merge project ProjA into subdirectory ProjA
$ git remote add -f ProjA http://GitUrl
$ …Run Code Online (Sandbox Code Playgroud) 假设您有一个具有中央主git存储库的场景,开发人员和CI引擎可以从中进行克隆.即非常接近传统的非分布式版本控制系统设置,具有中央集线器和许多节点.
现在说服务器被闪电或任何其他可能导致中央存储库与其所有集中备份一起消失的东西被盗或被攻击.您剩下的就是各种克隆,幸运的是其中一个已完全更新,因此您创建了一个空白的git存储库替换服务器,用作未来的中央存储库并开始处理克隆.
完全更新的克隆使用"git branch -a"知道所有"远程/源"分支,但只有一个本地分支.(这让我担心 - 失去分支机构信息).
重新建立一个新的中央git存储库的步骤是什么,表现在任何方式,如旧的,分支机构和所有?
我从Github分了一个回购.在做git remote -v它显示:
origin https://github.com/myusername/moodle.git (fetch)
origin https://github.com/myusername/moodle.git (push)
upstream https://github.com/moodle/moodle.git (fetch)
upstream https://github.com/moodle/moodle.git (push)
Run Code Online (Sandbox Code Playgroud)
它moodle.git有大约10个分支,但回购只显示其中2个.做git branch -a(显示所有分支)我得到:
MOODLE_24_STABLE// just these two on local..how?
* master//
origin/MOODLE_13_STABLE
origin/MOODLE_14_STABLE
origin/MOODLE_15_STABLE
origin/MOODLE_16_STABLE
origin/MOODLE_17_STABLE
origin/MOODLE_18_STABLE
origin/MOODLE_19_STABLE
origin/MOODLE_20_STABLE
origin/MOODLE_21_STABLE
origin/MOODLE_22_STABLE
origin/MOODLE_23_STABLE
origin/MOODLE_24_STABLE
origin/master
upstream/MOODLE_13_STABLE
upstream/MOODLE_14_STABLE
upstream/MOODLE_15_STABLE
upstream/MOODLE_16_STABLE
upstream/MOODLE_17_STABLE
upstream/MOODLE_18_STABLE
upstream/MOODLE_19_STABLE
upstream/MOODLE_20_STABLE
upstream/MOODLE_21_STABLE
upstream/MOODLE_22_STABLE
upstream/MOODLE_23_STABLE
upstream/MOODLE_24_STABLE
upstream/master
Run Code Online (Sandbox Code Playgroud)
如何在不丢失任何数据或任何违规行为的情况下解决问题?
我有一个带有一些子模块的项目.其中许多是从GitHub fork中克隆到的,我为自定义mod添加了一个分支.典型的设置如下:
在本地文件夹中:MyProject1/Frameworks/SomeAmazingRepo /
$ git branch -vva
*my-fork 123456 [my-fork/my-fork] Latest commit msg from fork
master abcdef [origin/master] Latest commit msg from original repo
remotes/my-fork/my-fork 123456 [my-fork/my-fork] Latest commit msg from fork
remotes/my-fork/master abcdef [origin/master] Latest commit msg from original repo
remotes/origin/HEAD -> origin/master
remotes/origin/master abcdef [origin/master] Latest commit msg from original repo
$ git remote -v
my-fork git@github.com:MyUser/SomeAmazingRepo.git (fetch)
my-fork git@github.com:MyUser/SomeAmazingRepo.git (push)
origin git://github.com/OriginalOwner/SomeAmazingRepo.git (fetch)
origin git://github.com/OriginalOwner/SomeAmazingRepo.git (push)
Run Code Online (Sandbox Code Playgroud)
我git clone --recursive我的项目开始一个新的分拆计划,当它开始递归,它吐出了一个错误,声称它找不到这些回购存储的提交.检查后,似乎没有添加遥控器,并且分支机构在主机中留下(空)...
在本地文件夹中:MyProject2/Frameworks/SomeAmazingRepo /
$ git branch …Run Code Online (Sandbox Code Playgroud) git ×9
branch ×3
git-branch ×3
github ×3
git-remote ×2
bash ×1
cloning ×1
git-checkout ×1
git-clone ×1
git-subtree ×1
ksh ×1
maintenance ×1
merge ×1
moodle ×1
pull ×1
sh ×1
shell ×1