GitLab作为其他人提交

时间:2018-06-06 15:31:02

标签: git gitlab

我在某个人的项目中工作,但想要我自己的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自动发送电子邮件,他们应该自己去。

3 个答案:

答案 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文件夹。

它应该删除存储的所有内容并为您提供一个干净的项目