相关疑难解决方法(0)

如何更改远程Git存储库的URI(URL)?

我在我的硬盘驱动器(本地)上克隆的USB密钥上有一个repo(origin).我将"origin"移动到NAS并成功测试从这里克隆它.

我想知道我是否可以在"本地"设置中更改"origin"的URI,因此它现在将从NAS中提取,而不是从USB密钥中提取.

现在,我可以看到两个解决方案:

  • 将所有内容推送到usb-orign,并将其再次复制到NAS(由于对来源的新提交而意味着大量的工作);

  • 添加一个新的遥控器到"本地"并删除旧遥控器(我担心我会打破我的历史).

git url git-remote

3529
推荐指数
31
解决办法
144万
查看次数

如何在Git中获取当前分支名称?

我来自Subversion背景,当我有一个分支时,我知道我正在处理的是"这些工作文件指向这个分支".

但是对于Git,我不确定我何时在NetBeans或Notepad ++中编辑文件,无论它是与主服务器还是其他分支相关联.

git在bash中没有问题,它告诉我我在做什么.

git branch git-branch

2321
推荐指数
37
解决办法
136万
查看次数

通过SSH配置Git以登录一次

我已经通过ssh克隆了我的git存储库.因此,每次我通过推或拉与原始主人沟通时,我都必须重新输入密码.如何配置git以便我不需要多次输入密码?

git ssh ssh-keys

188
推荐指数
7
解决办法
28万
查看次数

Git - 如何在Windows上使用.netrc文件来保存用户和密码

当我使用Git克隆带有HTTP和用户密码的远程存储库时,是否可以在Windows上使用.netrc文件?

windows git authentication

168
推荐指数
3
解决办法
10万
查看次数

在Bash中模拟do-while循环

在Bash中模拟do-while循环的最佳方法是什么?

我可以在进入while循环之前检查条件,然后继续重新检查循环中的条件,但这是重复的代码.有更干净的方式吗?

我的脚本的伪代码:

while [ current_time <= $cutoff ]; do
    check_if_file_present
    #do other stuff
done
Run Code Online (Sandbox Code Playgroud)

check_if_file_present如果在$cutoff时间之后启动,这将不会执行,并且会执行.

bash loops do-while

123
推荐指数
5
解决办法
14万
查看次数

如何检查ssh-agent是否已经在bash中运行?

我的shLinux环境中有一个示例脚本,基本上运行的ssh-agent是当前shell,为它添加一个键并运行两个git命令:

#!/bin/bash
eval "$(ssh-agent -s)"
ssh-add /home/duvdevan/.ssh/id_rsa

git -C /var/www/duvdevan/ reset --hard origin/master
git -C /var/www/duvdevan/ pull origin master
Run Code Online (Sandbox Code Playgroud)

脚本实际上运行正常,但每次运行它都会得到一个新进程,所以我认为它可能会成为一个性能问题而且我最终可能会遇到无用的进程.

输出的一个例子:

Agent pid 12109
Identity added: /home/duvdevan/.ssh/custom_rsa (rsa w/o comment)
Run Code Online (Sandbox Code Playgroud)

此外,除此之外,是否可以找到现有ssh-agent流程并将其添加到其中?

linux ssh bash shell

27
推荐指数
5
解决办法
3万
查看次数

Visual Studio代码自动推送

是否有可能在自动提交后进行git push?现在我需要在手动提交后点击push,这不是很舒服.

git push visual-studio-code

25
推荐指数
3
解决办法
6051
查看次数

制作一个shell脚本来更新3 git repos

我正在使用我在开发环境中克隆的5个回购.当我想更新git仓库时,我输入文件夹/ home/adrian/repo1 /并执行:

git checkout master git pull origin master

但是,每天早上我必须为其他4个回购做同样的事情.这很麻烦.

我可以把它放在shell脚本中吗?我的意思是,如果我在shell脚本中编写这些git命令并运行它,我能否更新所有的repos?

我在想写这样的东西......

cd repo1
git checkout master 
git pull origin master
cd ..
cd repo2
git checkout master 
git pull origin master
cd ..
Run Code Online (Sandbox Code Playgroud)

(我在linux上)

编辑:也许这比我想象的更具挑战性.大多数情况下,当我做"git pull origin master"时,我会得到像"你的本地更改......将被合并覆盖"这样的错误.所以我必须进入相应的分支并藏匿东西..

编辑2:

我正在考虑的是,如果发生冲突,请忽略它并转到下一个回购

cd repo1
git checkout master 
git pull origin master

(if there is conflict, ignore and go to the next line but dont stop here)

cd ..
cd repo2
git checkout master 
git pull origin master
cd ..
Run Code Online (Sandbox Code Playgroud)

但我不知道如何在括号中写出这个东西.

git shell

23
推荐指数
2
解决办法
4万
查看次数

在没有SSH访问的防火墙后面使用GitHub

我真的想使用GitHub,但我的公司已经锁定了所有内容.现在,我只能通过HTTP协议使用Tortoise SVN.我可以用同样的方式使用GitHub吗?如果是这样,怎么样?

git ssh http github

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

Jenkins:Credentials中私钥的正确格式是什么

我正在Windows Server 2016上运行的Jenkins 2.152中创建一个工作,需要从bitbucket.org上托管的git repo中提取.我通过git-bash测试了ssh密钥,所以我知道它有效并且没有密码短语.当我尝试使用与Jenkins完全相同的私钥时,我收到一条错误消息.

Failed to connect to repository : Command "git.exe ls-remote -h 
git@bitbucket.org:mygroup/myrepo HEAD" returned status code 128:
stdout: 
stderr: Load key 
"C:\\Users\\JE~1\\AppData\\Local\\Temp\\ssh2142299850576289882.key": invalid format 
git@bitbucket.org: Permission denied (publickey). 
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)

凭据设置为

 scope: Global
 user: git
 Private Key -> Enter Directly -> copy and past - generated by ssh-keygen -t rsa in gitbash
 Passphrase: empty
 ID: empty
 description: bitbucket.org …
Run Code Online (Sandbox Code Playgroud)

git ssh bitbucket jenkins

10
推荐指数
4
解决办法
6181
查看次数