我只是想清理代码并消 debugging 误。如果我运行:
git remote add godaddy $user1@foo.com:~/root.git
我得到
fatal: remote godaddy already exists.
我知道它存在,但我只是想让它忽略它,然后再创造一次。
例如,您可以使用-p
隐藏mkdir
的错误
我检查了这里,但什么也没找到:
https://git-scm.com/docs/git-remote
这不是一个重复,因为我正在寻找一个命令行选项,以抑制"错误"。
6条答案
按热度按时间7xllpg7q1#
你不能告诉Git隐藏错误,如果错误已经存在,你要么删除它,然后重新添加它,要么更新它的URL。隐藏
mkdir
的错误是可以的,因为如果它存在,你就不需要这样做。对于Git远程对象,这是不正确的,因为现有的可能有不同的URL,所以如果失败了,仅仅忽略命令是不行的。假设这是您试图更改的某个脚本(否则,如果这是命令行上的手动过程,则忽略错误并继续进行更重要的操作),我可以看到两个简单的解决方案:
1.请先检查远程设备,然后根据需要进行更新或添加:
if git remote | grep -w godaddy ; then git remote set-url godaddy $user1@foo.com:root.git else git remote add godaddy $user1@foo.com:root.git fi
1.尝试添加它,如果失败,则更新URL:
git remote add godaddy $user1@foo.com:root.git || git remote set-url godaddy $user1@foo.com:~/root.git
另一种选择是将stderr重定向到
/dev/null
,即使git
退出时出错,也使命令返回true,但这可能不是一个好主意:w8ntj3qf2#
一月一日
当你执行这个命令时,它只会用给定的url更新你的
.git/config
文件,在你的文件中已经有了这个远程名称。在这种情况下,您可以根据需要执行以下操作之一?
远程添加
远程设置URL
列出所有远程
nzk0hqpo3#
这是一个通用解决方案:
以后如果需要更多的repos,可以创建数组和循环来迭代它。
这只是一个起点。
zy1mlcev4#
Git提供了将提交发送到不同远程节点的功能。你可以更改这些远程节点,例如当你的主开发服务器发生变化时。通常你设置好一个远程节点后就不需要再更改了。
如果要将清理后的代码发送到服务器,请确保
1.提交代码
git commit -am "Cleaned the code up"
1.将更改推送到服务器
git push godaddy master
如果你是git新手,你可能不需要
git-remote
。5ssjco0h5#
2>&-
类似于2>/dev/null
,但对于关闭错误日志后运行良好的命令,它的输入时间更短,git就是这样做的。这里的其他命令将保留您可能拥有的任何其他远程配置,这 * 可能 * 不会有问题,但是...
jogvjijk6#
一种脚本故障安全的幂等方法:
解释
origin
* 在此存储库中尚不存在 *,则使用git remote add ...
命令对其进行设置。origin
* 已存在于 * 此资料档案库中,则第一个命令(git remote add ...
)将正常失败。然后执行第二个命令(git remote set-url ...
)以 * 更新 * 资料档案库URL。