我想创建没有使用clone的标签的裸git项目.但是通过谷歌知道没有像" --no-tags
" 这样的选项.
有没有办法克隆没有像下面的标签?
$ git clone {path}/test.git --no-tags --mirror
Run Code Online (Sandbox Code Playgroud)
任何帮助将不胜感激!!:)
我非常熟悉git cherry-pick.目前我正在尝试从其他git存储库中挑选一些提交.场景如下:
A - > git repo("A/foo/B",其中B是foo中的目录)
B - > git repo
我的目的是将git repo B的提交/应用补丁/合并提交到A/foo/B目录.
A/FOO/B
我知道它可以通过多种方式完成,例如merge,cherry-pick和apply patch.
我也试过下面的命令,这符合我的意图:
git --git-dir=../B/.git format-patch --stdout sha1^..sha1 | git am --directory='B/'
Run Code Online (Sandbox Code Playgroud)
但有没有什么方法可以通过樱桃选择获得相同的东西来获得预期的解决方案或任何其他完美的解决方案来弥补它.
请建议!!
谢谢 :)
我今天做了一个git pull并获得了以下内容:
$ git pull
remote: Counting objects: 8, done.
remote: Compressing objects: 100% (8/8), done.
remote: Total 8 (delta 6), reused 0 (delta 0)
Unpacking objects: 100% (8/8), done.
From bitbucket.org:[...]
968e1d5..672edb4 develop -> origin/develop
911ae33..37250eb release/fta -> origin/release/fta
destructing 4
destructing 3
destructing 2
destructing 1
Merge made by the 'recursive' strategy.
.../[...].cs | 2 +-
1 file changed, 1 insertion(+), 1 deletion(-)
Run Code Online (Sandbox Code Playgroud)
一些背景:
那么"破坏X"的消息是什么?为什么有4个?两个提交,其中3个文件更改合并.
检查了git文档并做了一些duckduckgoing并找不到答案.
亲切的问候
我试图从远程github分支中获取最新代码.假设这个分支名为myDevBranch,我该如何在本地获取?我试过了:
git fetch myDevBranch
Run Code Online (Sandbox Code Playgroud)
返回:
fatal: 'myDevBranch' does not appear to be a git repository
fatal: Could not read from remote repository.
Please make sure you have the correct access rights
and the repository exists.
Run Code Online (Sandbox Code Playgroud)
看起来像一个安全问题,还是有另一种方式在本地获取远程分支?
我知道git cherry-pick和git apply终端系统。但是今天我遇到了一些问题。我通过使用两个修订版的差异来应用一个补丁。我使用以下命令:
git diff HEAD> diff.patch
git apply diff.patch
我的补丁申请失败了一个文件。
然后,我只是想尝试挑选 commit-id2。它被成功挑选。
可能是什么原因?任何人都想对同一事物有所了解。
我试图从我的git repo中获取git branches -a
匹配regex(grep xxx
)的所有分支().
通常在命令行中我写这个:
git branch -a | grep xxx
Run Code Online (Sandbox Code Playgroud)
所以我试图在.sh文件中做同样的事情:
以下是我的代码:
#!/bin/bash
branches=( $(git branch -a | grep $1) )
echo branches : $branches
echo branch : ${branches[0]}
Run Code Online (Sandbox Code Playgroud)
可悲的是,它以某种方式添加了当前文件夹中的所有文件.
这是输出:
$> checkout.sh 2887
branches : ant
branch : ant
Run Code Online (Sandbox Code Playgroud)
如果我branches=( $(git branch -a | grep $1) )
改为branches=$(git branch -a | grep $1)
我最后得到了我的目录和分支中的所有文件
我有三个分支dev
test
master
。
最初我只有 dev 分支可以使用,所以我使用了这个
git push origin dev
但稍后我将基于 env 拥有不同的分支,并将从各自的分支进行部署。Buntill develeopemet 是否有可能test
并且master
始终与 dev 具有相同的头脑
或者换句话说
git push origin dev|test|master
所以我可以推送到我单个命令的所有分支,然后我可以合并选择性提交。我的意思是所有其他分支都与 dev 相同
可以说我有一个git根文件夹mine_git
,其中有一个子目录subdir
.所以我已经工作了一点,而且我在subdir
- git status
列出所有已更改的文件:
subdir$ git status -uno
# On branch master
# ...
#
# modified: mysubdirfile.txt
# modified: ../a-main-file.txt
#
no changes added to commit (use "git add" and/or "git commit -a")
Run Code Online (Sandbox Code Playgroud)
K,所以我想将所有这些跟踪和修改的文件添加到临时区域(或缓存?索引?不确定名称),所以我可以事后提交; 所以我发出:
subdir$ git add -u
Run Code Online (Sandbox Code Playgroud)
......然后我再次检查:
subdir$ git status -uno
# On branch master
# Changes to be committed:
# ...
#
# modified: mysubdirfile.txt
#
# Changes not staged for commit:
# ...
#
# modified: ../a-main-file.txt
# …
Run Code Online (Sandbox Code Playgroud)