git
创建:2023-10-27 17:54
更新:2025-04-19 21:58
  1. 保存密码

    git config --global credential.helper store
    
  2. gitea搭建

    sudo docker run -it -d --restart=always --name=git \
        -v ~/data/gitea:/data \
        -v /etc/timezone:/etc/timezone:ro \
        -v /etc/localtime:/etc/localtime:ro \
        -p 3000:3000 \
        gitea/gitea:1.19.0
    
  3. 利用git清理文件

    # 删除 untracked files
    git clean -f
    
    # 连 untracked 的目录也一起删掉
    git clean -fd
    
    # 连 gitignore 的untrack 文件/目录也一起删掉 (慎用,一般这个是用来删掉编译出来的 .o之类的文件用的)
    git clean -xfd
    
    # 在用上述 git clean 前,墙裂建议加上 -n 参数来先看看会删掉哪些文件,防止重要文件被误删
    git clean -nxfd
    git clean -nf
    git clean -nfd
    
  4. 修改gitbash样式

    vim ~/.bash_profile

    export PS1="\[\033[32m\]\u@\h:\[\033[33m\]\w\[\033[36m\]\[\033[0m\]$ "
    
  5. git 清理大文件

    注意:这样会连日志也清理掉。特适合刚刚错误提交大文件,然后进行回滚

    # 找到大文件的commit id
    git log 
    # 软回滚到这个大文件提交之前
    git reset --soft <big_file_pre_commit_id>
    # 重新提交
    git push --force
    
  6. 问题:unable to get local issuer certificate

    https://cloud.tencent.com/developer/article/2138093

    本地禁用 SSL 证书验证:

    git -c http.sslVerify=false clone [URL] 
    

    或者是进行全局禁用:

    git config --global http.sslVerify false
    

    重新启用:

    git config --global http.sslVerify true
    
  7. Git取消一次提交
    sh git reset HEAD^ #默认选项, 取消提交,并且把更改的文件恢复到暂存区 git reset --soft HEAD^ #这将取消最近的一次提交,但会保留工作区中的所有更改。这意味着你的更改仍然存在,只是未被提交。 git reset --hard HEAD^ #永久性地删除最后一次提交的所有更改,无法恢复