如何去掉git信息

worktile 其他 226

回复

共3条回复 我来回复
  • 不及物动词的头像
    不及物动词
    这个人很懒,什么都没有留下~
    评论

    要去掉git信息,可以采取以下方法:

    1. 清除commit history(提交历史):
    在使用git的过程中,我们可能会有一些不想保留的commit history,可以通过以下命令来清除:
    “`
    git checkout –orphan new_branch
    git add -A
    git commit -am “Initial commit”
    git branch -D master
    git branch -m master
    “`
    这样就会创建一个新的空分支,将所有的文件添加到新的分支,然后以一个新的commit作为初始commit。最后删除旧的分支并将新的分支命名为master。

    2. 删除敏感文件:
    在提交git之前,我们应该将敏感文件(例如密码、API密钥等)从git的跟踪中删除。可以使用以下命令来删除敏感文件:
    “`
    git rm –cached FILENAME
    “`
    这样就可以将FILENAME文件从git的暂存区(Staging Area)中移除,但是保留在本地。

    3. 修改作者和提交者信息:
    如果需要修改已经提交的commit的作者和提交者信息,可以使用git的`filter-branch`命令。
    “`
    git filter-branch –env-filter ‘

    OLD_EMAIL=”your-old-email@example.com”
    CORRECT_NAME=”Your Correct Name”
    CORRECT_EMAIL=”your-correct-email@example.com”

    if [ “$GIT_COMMITTER_EMAIL” = “$OLD_EMAIL” ]
    then
    export GIT_COMMITTER_NAME=”$CORRECT_NAME”
    export GIT_COMMITTER_EMAIL=”$CORRECT_EMAIL”
    fi
    if [ “$GIT_AUTHOR_EMAIL” = “$OLD_EMAIL” ]
    then
    export GIT_AUTHOR_NAME=”$CORRECT_NAME”
    export GIT_AUTHOR_EMAIL=”$CORRECT_EMAIL”
    fi
    ‘ –tag-name-filter cat — –branches –tags
    “`

    以上命令会将每个commit的作者和提交者信息修改为指定的正确信息。

    注意:清除commit history和修改作者和提交者信息会改变git的历史记录,可能会导致与他人的协作出现问题,所以建议在个人项目中使用这些方法。如果是在与他人合作的项目中,请与团队成员商讨并获得共识。

    2年前 0条评论
  • worktile的头像
    worktile
    Worktile官方账号
    评论

    想要去掉Git信息,可以采取以下五种方法:

    1. 重写Git提交历史:通过修改Git提交的作者和提交时间信息,可以实现去掉Git信息。使用Git工具提供的命令,如`git filter-branch`、`git commit –amend`等可以对提交历史进行重写。重写完后,可以使用`git push –force`将更新的提交历史推送到远程仓库。

    2. 以匿名身份进行操作:在Git提交代码时,可以使用一个匿名身份,在提交中不包含个人信息。可以通过设置Git配置中的`user.name`和`user.email`为匿名信息来实现。

    3. 使用Before-commit钩子:在Git中,可以配置Before-commit钩子,在代码提交前进行一些处理操作。可以在这个钩子中使用脚本清除提交中的个人信息,确保提交不包含个人信息。

    4. 使用BFG Repo-Cleaner工具:BFG Repo-Cleaner是一个Java工具,专门用于清除Git仓库中的敏感或无用数据。可以使用该工具清除Git仓库中的个人信息,如作者姓名、电子邮件地址等。

    5. 创建匿名副本:将原始Git仓库克隆到一个新的仓库中,并在新的仓库中删除个人信息。这样可以确保不会在新的仓库中包含个人信息。在将新仓库推送到远程仓库之前,确保删除原始仓库。

    无论使用哪种方法,都需要谨慎操作,确保不会对Git仓库造成不可挽回的损害。在进行操作之前,最好先备份Git仓库,以便出现问题时能够恢复至原始状态。

    2年前 0条评论
  • fiy的头像
    fiy
    Worktile&PingCode市场小伙伴
    评论

    在使用 Git 进行开发的过程中,每次提交代码都会有相应的 Git 信息,包括作者、提交时间、提交信息等。但有些时候,我们希望在代码提交之前去掉这些 Git 信息,从而在公开的代码中隐藏个人信息和版权信息。

    下面,我将介绍一些方法来帮助您去掉 Git 信息。

    ## 方法一:使用 Git 的 `filter-branch` 命令

    这个方法可以修改提交历史中的作者信息和提交信息。

    1. 首先,进入到您的代码仓库目录。

    2. 然后,运行以下命令来对所有提交修改作者信息:

    “`
    git filter-branch –env-filter ‘GIT_AUTHOR_NAME=”New Name”; GIT_AUTHOR_EMAIL=”newemail@example.com”; GIT_COMMITTER_NAME=”New Name”; GIT_COMMITTER_EMAIL=”newemail@example.com”;’ — –all
    “`

    替换 `New Name` 和 `newemail@example.com` 为您需要修改的新的作者名称和电子邮件地址。

    3. 接下来,运行以下命令来清除所有提交的提交信息:

    “`
    git filter-branch –msg-filter ‘cat >/dev/null’
    “`

    4. 最后,使用以下命令来删除旧的引用和备份:

    “`
    git for-each-ref –format=”%(refname)” refs/original/ | xargs -n 1 git update-ref -d
    “`

    “`
    rm -rf .git/logs .git/refs/original/

    “`

    “`
    git reflog expire –expire=now –all
    “`

    “`
    git gc –prune=now
    “`

    ## 方法二:使用 Git 的 `rebase` 命令

    这个方法可以修改最近的几个提交的作者信息和提交信息。

    1. 首先,进入到您的代码仓库目录。

    2. 然后,运行以下命令来对最近的几个提交修改作者信息:

    “`
    git rebase -i HEAD~n
    “`

    这里的 `n` 代表要修改的最近几个提交。

    然后,将要修改的提交从 `pick` 改为 `edit`,保存并关闭编辑器。

    3. 接下来,运行以下命令来修改作者信息:

    “`
    git commit –amend –author “New Name
    “`

    替换 `New Name` 和 `newemail@example.com` 为您需要修改的新的作者名称和电子邮件地址。

    4. 最后,使用以下命令来继续编辑提交:

    “`
    git rebase –continue
    “`

    这将会继续修改下一个提交,直到修改完所有需要修改的提交。

    总结:

    以上是两种常见的方法来去掉 Git 信息,根据您的实际需求选择适合您的方法。请注意,在修改提交历史之后,可能会导致您的 Git 仓库状态变得不一致,因此在执行这些操作之前,请确保您已经备份了重要的数据。

    2年前 0条评论
注册PingCode 在线客服
站长微信
站长微信
电话联系

400-800-1024

工作日9:30-21:00在线

分享本页
返回顶部