小编sak*_*trp的帖子

如何强制'cp'覆盖目录而不是在里面创建另一个?

我正在尝试编写一个覆盖现有目录的Bash脚本.所以,我有一个目录foo /,我试图用它覆盖bar /.但是当我这样做的时候

cp -Rf foo/ bar/
Run Code Online (Sandbox Code Playgroud)

会发生什么是创建一个新的bar/foo /目录.我不希望这样.foo/a和b中有两个文件.bar /中也有同名文件.我希望foo/a和foo/b替换bar/a和bar/b.

linux bash shell command-line cp

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

即使删除了其上游远程分支,git remote prune origin也不会删除本地分支

这是一个常见的用例,我克隆一个存储库,签出一个分支,做一些代码更改,进行多次提交,然后当它稳定时,我做一个推送到远程,最终分支被合并和删除.我离开了一个上游的当地分支机构.

我一直在寻找一种删除所有这些分支的安全方法.从描述来看,似乎git remote prune起源正是这样做的.但它似乎并不适合我.

看到以下行为,分支encrdb_init已被删除remotegit remote prune origin命令似乎没有修剪它.我不知道为什么.

$ git branch
  bugfix/encrdb_init
  * master
$
$ git remote prune origin
$
$ git checkout bugfix/encrdb_init
  Switched to branch 'bugfix/encrdb_init'
  Your branch is based on 'origin/bugfix/encrdb_init', but the upstream 
  is gone.
  (use "git branch --unset-upstream" to fixup)
$
$ git branch
  bugfix/encrdb_init <<< shouldn't this have been pruned?
  * master
Run Code Online (Sandbox Code Playgroud)

供参考添加输出 git remote show origin

$ git remote show origin
* remote origin
  Fetch URL: …
Run Code Online (Sandbox Code Playgroud)

git git-remote git-branch

13
推荐指数
1
解决办法
7425
查看次数

标签 统计

bash ×1

command-line ×1

cp ×1

git ×1

git-branch ×1

git-remote ×1

linux ×1

shell ×1