在阅读了Git - git-submodule 文档后,我决定将以前项目中的两个文件导入到新项目的根目录中,因为我不想手动同步这两个文件。但是,当我执行以下命令时出现错误:
$ git submodule add -b master -f --name latexci -- \
https://github.com/donizyo/LaTeX-Travis.git .
fatal: empty string is not a valid pathspec. please use . instead if you meant to match all paths
usage: git submodule--helper clone [--prefix=<path>] [--quiet] [--reference <repository>] [--name <name>] [--depth <depth>] --url <url> --path <path>
--prefix <path> alternative anchor for relative paths
--path <path> where the new submodule will be cloned to
--name <string> name of the new submodule
--url <string> …Run Code Online (Sandbox Code Playgroud) 我在 Windows 上使用 Git Bash,尝试使用命令行漂亮地打印 JSON 输出。根据这个答案,我尝试以下操作:
$ echo '{"print": "this"}' | python -m json.tool
stdin is not a tty
Run Code Online (Sandbox Code Playgroud)
我的Python版本是2.7.15(Anaconda)。
当我使用本机 Windows cmd 尝试相同的操作时,它可以正常工作(但我想使用 Bash)。
我正在使用 Windows 版 Git(和 TortoiseGit)。
我的目标是防止提交修改/添加至少一个非 UTF-8 文件。
枚举修改/添加的文件:我找到了以下代码
{ git diff --name-only ; git diff --name-only --staged ; }
Run Code Online (Sandbox Code Playgroud)
这是最好的(正确且最简洁的)方法吗?
搜索非 UTF-8 文件:我找到了以下代码
{ git diff --name-only ; git diff --name-only --staged ; } | xargs -I {} bash -c "iconv -f utf-8 -t utf-16 {} &>/dev/null || echo {} - is non-UTF8!"
Run Code Online (Sandbox Code Playgroud)
如果我在存储库根文件夹中启动 Git Bash - 它会起作用(显示每个非 UTF-8 文件)。所以我将上面的代码重命名.git/hooks/pre-commit.sample为并复制粘贴。.git/hooks/pre-commit提交更改后,TortoiseGit 提交 gui 窗口中不会显示任何特殊内容。所以看起来预提交挂钩无法正常工作。
如果存在任何非 UTF-8 文件,则拒绝提交:显示所有非 UTP-8 文件后,应拒绝提交。但我不知道如何做到这一点(显示一些退出代码 - 但如何?)。
因此,我们将不胜感激任何帮助。
我在 Windows 上使用 Git Bash 和 python 2.7,并且我想在虚拟环境中工作。
当我打字时
virtualenv venv
Run Code Online (Sandbox Code Playgroud)
重击 说
bash:virtualenv:找不到命令
这让我认为 virtualenv 没有安装,然后我尝试安装 virtualenv
pip install virtualenv
Run Code Online (Sandbox Code Playgroud)
但巴什再次说
bash:pip:找不到命令
然后通过阅读此线程python 2.7:cannotpiponwindows"bash:pip:commandnotfound"我发现它找不到 pip 目录,这可能与它找不到 virtualenv 目录的原因相同。所以我指定了pip的路径,然后再次尝试安装virtualenv
python -m pip install virtualenv
Run Code Online (Sandbox Code Playgroud)
它安装 virtualenv 但然后告诉
弃用:Python 2.7 将于 2020 年 1 月 1 日结束其生命周期。请升级您的 Python,因为该日期之后将不再维护 Python 2.7。pip 的未来版本将放弃对 Python 2.7 的支持。
所以我继续尝试通过输入激活我的 virtualenv
virtualenv venv
Run Code Online (Sandbox Code Playgroud)
正如我所料,我得到了与之前相同的错误
bash:virtualenv:找不到命令
我尝试以与 pip 相同的方式解决这个问题,方法是输入
python -m virtualenv venv
Run Code Online (Sandbox Code Playgroud)
这次 bash 响应为
$ python -m virtualenv venv C:\Users\Tommaso\DJANGO~1\UDEMYD~1\METAGL~2\venv\Scripts\python.exe 中的新 python 可执行文件安装 …
我想将公钥从 Windows 系统复制到我的服务器。我遇到的问题是,我没有找到密钥的路径。我尝试过类似的事情:
ssh-copy-id -i C:/Users/username/.ssh/mykey.pub user@serverIP
ssh-copy-id -i ~/.ssh/mykey.pub user@serverIP
Run Code Online (Sandbox Code Playgroud)
结果总是
没有这样的文件或目录
我究竟做错了什么?我在Windows 10上使用Git Bash
因此,我遇到了一个错误,内容是“请输入提交消息来解释为什么需要进行此合并,特别是如果它将更新的上游合并到主题分支中”,我在此线程中找到了解决方案。
然而答案之一说,你的文本编辑器是问题所在,所以将其更改为 Atom,并且在不知道如何在 Atom 中使用编辑器的情况下,我通过以下代码将 git 编辑器更改为 Atom:
git config --global core.editor "atom --wait"
Run Code Online (Sandbox Code Playgroud)
我正在使用 Git Bash,我想回到它作为我的核心编辑器,但我似乎找不到一种方法来做到这一点。
PS 我刚接触 Git 几天,所以请原谅我犯的任何基本错误。
我只有一项提交master,尚未将其合并到remote. 我想删除我的提交,保留更改的文件,更改我的分支,然后提交它们。
现在我已经使用了git reset --soft HEAD~1,但我遇到了这个错误:
致命:不明确的参数“HEAD~1”:未知修订版或路径不在工作树中。使用“--”将路径与修订版分开,如下所示:“git [...] -- [...]”
当使用github cli api通过 git-bash 终端读取拉取请求数据时,出现“gh: Not Found (HTTP 404)”错误。当我通过 PowerShell 终端或 wsl 运行完全相同的脚本时,效果很好。知道为什么会发生这种情况吗?
我不断收到以下错误:
git commit -sam "blah blah blah"
fatal: either user.signingkey or gpg.ssh.defaultKeyCommand needs to be configured
Run Code Online (Sandbox Code Playgroud)
我刚刚完全更新了 Git,试图解决这个问题,所以它完全是最新的,然后我成功地将所有常用配置添加到现在在 Git Bash 中运行的新版本中。我反复访问 Github 的 SSH 密钥生成器并一一按照说明进行操作。毕竟,我仍然收到此错误。
我无法在本地计算机上的任何地方(Git Bash、终端、GitKraken;我什至崩溃并尝试了 Github Desktop)进行提交,更不用说签名、带注释的提交了,这是我的习惯。我从我的 Github 帐户中删除了过期的密钥。我不知道还能做什么。
我一直在玩钩子一段时间,但我似乎无法post-receive按照我需要的方式工作.
我试图获取post-receive钩子来创建一个zip文件夹,并在我将更改推送到存储库后将其放在git存储库文件夹之外的某个位置.
git-bash ×10
git ×7
windows ×5
bash ×2
github ×2
python-2.7 ×2
android ×1
atom-editor ×1
github-api ×1
pip ×1
ssh ×1
ssh-keys ×1
tty ×1
virtualenv ×1