我在某个人的项目中工作,但想要我自己的GitLab,所以我尝试了这个:
首先我克隆了这个项目:
tibble
然后我将git设置为我自己的URL:
git clone git@otherpersonsproject.git
现在我将项目推送到空目录中。
git remote set-url origin http://gitlab.mygitlab.com/something.git
现在在我自己的服务器中,我点击git push
Username: usernamefrommyserver
Password: mypassword
,看看上传者是Project
而不是我自己。这怎么发生的?我需要它来显示我的用户和电子邮件,因为GitLab自动发送电子邮件,他们应该自己去。
答案 0 :(得分:2)
在本地存储库目录中,运行命令
git config user.name "Your Full name"
git config user.email "your_email@example.com"
然后
git push
查看服务器上的结果。
参考:https://docs.gitlab.com/ee/gitlab-basics/start-using-git.html
答案 1 :(得分:2)
为每次提交存储作者信息,并且与推送它的人无关。 由于您从其他人那里获取了存储库,因此将它们标记为这些提交的作者是有意义的。
如果您进行新提交并将其推送到服务器,则应由您撰写。
如果改变了改变,那么你可能想检查gitlabs的选项
可以在之前提交的每一个提交中更改作者,但我会反对它,因为它将涉及修改整个存储库,这可能需要一段时间,使真正的作者混淆,并使其难以为任何克隆你的回购以提取更新的人。
我们现在正在进入危险区域,以下内容涉及重写历史记录。
以下git filter-branch
命令应该适用于最新版本的git。
git filter-branch --env-filter '
GIT_AUTHOR_NAME="<your name>"
GIT_AUTHOR_EMAIL=<your email>
GIT_COMMITTER_NAME="<your name>"
GIT_COMMITTER_EMAIL=<your email>
' -- --all
在您必须强制重新推送每个分支git push --all --force
。
答案 2 :(得分:-1)
在使用.git
之前,请尝试从项目的根目录中删除git remote set-url origin http://gitlab.mygitlab.com/something.git
文件夹。
它应该删除存储的所有内容并为您提供一个干净的项目