标签: git

Rsync 文件夹,而 --exclude-from'ing .gitignore 文件在不同深度

所以我正在尝试使用命令来 rsync 具有如下结构的源文件夹:

- app.js
- .gitignore
- src/
- src/logs/
- src/logs/.gitignore
Run Code Online (Sandbox Code Playgroud)

第一个 .gitignore 将忽略一系列文件。典型的东西。第二个将如下所示:

*
!.gitignore
Run Code Online (Sandbox Code Playgroud)

当您想签入一个目录中没有任何文件时使用此技术。整个目录中可能还有更多 .gitignores - 这只是一种情况。所以我的问题是:是否可以让 rsync 解释相对于它们所在目录的所有 .gitignores?

我最初的尝试如下:

  1. Glob 目录中的所有 .gitignores。
  2. 构建命令看起来像:

rsync --exclude-from=.gitignore --exclude-from=src/logs/.gitignore --exclude-from=some/other/folder/.gitignore [source] [destination]

但是,这对我来说并没有达到预期。一切都被忽略了,因为它正在读取所有 .gitignore 文件,就好像它们在根目录下一样。有没有可能的方法来做到这一点,而不必为所有 .gitignores 进行 grep 并创建一个主文件,其中重写的路径都相对于根目录?

谢谢!

git rsync

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

`git reset file` 和 `git reset HEAD file` 有什么区别?

我发现这两个都可以取消暂存文件。

我曾经用来git reset file取消暂存文件。

但是今天当我阅读http://git-scm.com/book 时

我发现它教会了我使用git reset HEAD file,HEAD 在这里做什么?在什么情况下是必须的?

PS:一个额外的问题,我可以使用git checkout file未修改的文件。同时本书建议我使用git checkout -- file. 这里有什么区别?

git

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

从多个文件夹/存储库中获取 git 分支

我有一个文件夹,里面有几个存储库。有什么办法可以在每个文件夹中运行git branch或运行任何git命令?

$ ls
project1            project2                project3            project4
Run Code Online (Sandbox Code Playgroud)

我想有一些像下面这样的输出

$ command
project1 [master]
project2 [dev]
project3 [master]
project4 [master]
Run Code Online (Sandbox Code Playgroud)

git shell-script for

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

如何在 Windows/PuTTY 中使用 ~/.ssh/config?

如何~/.ssh/config与 Windows/PuTTY 一​​起使用?PuTTY 设置是否存储在注册表中?我希望在git. 所以它需要是一个人类可读的文本文件。

configuration putty git gitlab

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

Git 从 Makefile 中提交

我有一个我正在处理的 Latex 项目的 Makefile。Makefiles 不是我的强项,但有没有办法做这样的事情:

make git "My comment"
Run Code Online (Sandbox Code Playgroud)

并让 makefile 执行:

git commit -m "My comment"
git push origin master
Run Code Online (Sandbox Code Playgroud)

?

make git

8
推荐指数
2
解决办法
5796
查看次数

如何将 Git 存储库历史重播到子目录中?

比方说,我有两个库ayebee我想摆脱bee,这样的线性的历史,bee/master在一个新的子目录“重放”(几个层次深)的aye我只想要文件和提交消息,我不关心提交 ID。想要一个合理的历史,所以git subtree add --prefix=subdirectorygit read-tree --prefix=subdirectory/没有什么我要找的。

两个存储库都是私有的,因此不存在为其他人重写历史记录的风险。但是,bee 确实有一个子模块cee

git

8
推荐指数
1
解决办法
3507
查看次数

如何避免每次推送到 github 存储库时都使用“ssh-add ~/.ssh/id_rsa”?

我必须反复输入以下终端命令才能推送到远程 github 存储库。如果我推送到 github,然后在接下来的几个小时内编写更多代码,然后再推送,我必须输入以下命令:

eval "$(ssh-agent -s)"
ssh-add ~/.ssh/id_rsa
Run Code Online (Sandbox Code Playgroud)

否则我会收到以下错误消息:

>> git push origin master

sign_and_send_pubkey:签名失败:代理拒绝操作权限被拒绝(公钥)。致命:无法从远程存储库读取。

请确保您拥有正确的访问权限并且存储库存在。

我必须做什么才能不再需要继续使用 ssh-add 才能推送?我原以为使用 ssh-add 一次可以解决问题,但似乎并非如此!

ssh git gitlab

8
推荐指数
2
解决办法
4294
查看次数

Git提交使用来自bash的stdout?

是否可以使用来自 stdout 的提交消息,例如:

echo "Test commit" | git commit -
Run Code Online (Sandbox Code Playgroud)

还尝试在 中回显消息内容.git/COMMIT_EDITMSG,但随后运行git commit会要求在提到的文件中添加更改。

pipe git

8
推荐指数
1
解决办法
2819
查看次数

从 GitHub 下载的最短方法

这就是我如何从 GitHub 下载各种 master 分支,我的目标是拥有一个更漂亮的脚本(也许更可靠?)。

wget -P ~/ https://github.com/user/repository/archive/master.zip
unzip ~/master.zip
mv ~/*-master ~/dir-name
Run Code Online (Sandbox Code Playgroud)

可以以某种方式将其缩短为一行,也许使用焦油和管道?

请解决直接下载到主目录~/并为目录指定特定名称的问题(mv真的需要吗?)。

git wget

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

当要求 GPG 密码时,如何让 git 使用 cli 而不是某些 GUI 应用程序?

每当我尝试创建签名的 git 提交时,我都需要输入我的 GPG 密钥。它会生成一些 GUI 应用程序来接收密码。看起来该应用程序是seahorse,所以我卸载了它,但 git 仍然使用一些 GUI 应用程序。Polybar 不报告应用程序名称,其标题只是[process]@MYPC

如何让 git 使用命令行/pinentry?

版本:

git gpg gpg-agent

8
推荐指数
2
解决办法
2035
查看次数

标签 统计

git ×10

gitlab ×2

configuration ×1

for ×1

gpg ×1

gpg-agent ×1

make ×1

pipe ×1

putty ×1

rsync ×1

shell-script ×1

ssh ×1

wget ×1