在我的应用程序中,我通过childProcess使用git push -u https://username:password@github.com/User/Repo <branch>
。
问题在于,包含此提交列表的图形在此推送之后没有被更新。
推后,原点/分支的引用与本地引用不在同一级别。我认为问题出在使用URL而不是来源,但是我绝对需要使用一个。
如果有人知道解决方案或只是解决方案的线索,那将是很大的帮助。
答案 0 :(得分:2)
是的,问题是您使用的是URL,而不是命名的遥控器。 Git需要一个远程名称来跟踪一个远程分支,否则它根本不知道如何引用它。
一种解决方法是让应用程序在推送之前设置远程URL。
git remote set-url <remote> <url>
git push <remote> <branch>
然后<remote>/<branch>
将被更新。
但是这里真正的问题是,为什么用户每次按下时都必须指定URL?您应该先设置一个远程设备,然后再按名称使用它。如果在分支上设置了上游,则根本不使用它。
使用url,因为我正在将其用于应用程序,并且我需要将用户名和密码直接放在推送中
尽管存在严重的安全隐患,但可以在远程URL中指定用户名和密码。他们的密码将保留在磁盘上。用户名和密码不应在推送之间更改。如果可能,请更改应用程序以设置一次远程,然后使用该远程推送。
更好的选择是分别获取URL,用户名和密码。使用URL设置遥控器。将用户名和密码存储在gitcredentials
中。