美文网首页
Note-git 常用命令

Note-git 常用命令

作者: MrWelson | 来源:发表于2022-01-13 10:29 被阅读0次

    git 常用命令

    git.jpg

    初始化仓库

    // 1. 从远程主机克隆一个版本库
    git clone <remote_address>
    
    // 2. 新建git库
    git init  
    
    // 添加远程主机管理
    git remote add <remote_name> remote_address
    
    // 查看远程主机
    git remote -v 
    
    // 设置 git 用户信息
    git config --global user.email "youremail"
    git config --global user.name "yourname" 
    
    

    常用命令

    // 查看提交日志
    git log  
    
    // 查看文件修改的内容
    git diff <file_path>
    
    // 查看文件状态 工作区/暂存区
    git status 
    
    

    大小写敏感

    // 设置文件夹大小写验证
    git config --global core.ignorecase false
    git config core.ignorecase false
    

    如果报错,可查看文末异常处理

    分支管理

    // 查看本地分支及关联
    git branch -vv
    
    // 创建本地分支
    git branch <branch_name>
    
    // 切换到dev分支(需要有dev分支)
    git checkout dev
    
    // 复制当前分支内容创建并切换到 dev 分支
    git checkout -b dev
    
    // 从某次提交创建新的分支
    git checkout -b branchname <commitId>
    
    // 重命名本地分支
    git branch -m <old_branch> <new_branch>
    
    // 删除本地分支
    git branch -d <branch_name> 
    // 强制删除
    git branch -D <branch_name>
    
    // 删除远程分支
    git push origin --delete <branch_name> 
    
    // 关联本地当前分支到远程 origin 仓库的 dev 分支
    git branch --set-upstream-to origin/dev 
    
    // 关联分支简写
    git branch -u origin/dev
    
    

    tag 管理

    // 查看本地 tag
    git tag
    
    // 切换 tag
    git checkout <tag_name>  
    
    

    文件操作

    // 文件改名
    git mv <old_file> <old_file>  
    
    // 删除文件
    git rm <file> 
    
    // 删除远程文件或目录
    git rm -r --cached <file>
    
    

    提交改动

    // 添加指定文件到暂存区
    git add <file_path> 
    // 添加所有文件到暂存区
    git add .
    
    // 将暂存区的文件提交到本地仓库
    git commit -m "注释"  
    
    // 拉取远程分支的更新与本地分支合并
    git pull  
    
    // 将本地分支的更新,推送到远程主机
    git push  
    

    拉取/推送远程指定分支

    // 获取远程分支更新并与本地指定分支合并
    git pull <remote> <remote_branch>:<local_branch>
    
    // 获取远程分支更新并与本地当前分支合并
    git pull <remote> <remote_branch>
    
    // 推送本地当前分支的修改到远程关联分支
    git push
    
    // 推送本地修改到指定远程仓库的指定分支
    git push <remote> <local_branch>:<remote_branch>
    
    

    合并代码到主分支

    // 1. 拉取远程 origin 仓库 develop 分支与当前分支合并
    git merge origin/develop
    
    // 2. 手动解冲突
    
    // 3. 提交合并后代码到当前分支关联的远程分支
    git push
    
    // 4. 提交合并后的当前分支(dev_xx)到主分支(develop)
    git push origin dev_xx:develop
    
    

    git 提交部分修改

    // 1. 查看文件状态
    git status 
    
    // 2. 将想要提交的文件添加到暂存区
    git add <file_name>
    
    // 3. 提交暂存区文件
    git commit -m "xxx"
    
    // 4. 将其他未提交的修改文件隐藏
    git stash 
    
    // 5. 拉取远程代码合并到本地
    git pull 
    
    // 6. 再次查看文件状态是否有冲突
    git status 
    
    // 7. 解冲突 并 commit 
    
    // 8. 无冲突后,将 commit 提交到远程仓库
    git push 
    
    // 9. 恢复隐藏的文件
    git stash pop 
    
    

    仓库迁移(保留分支和提交记录)

    // 以下方法只适用于新的空仓库
    // 1. 首先我们将 project.git 克隆到本地
    git clone --bare <old_remote_url>
    
    // 2. 进入项目目录
    cd <project_dir>
    
    // 3. 执行 push --mirror 将仓库推到 B 服务器的仓库目录
    git push --mirror <new_remote_url>
    
    // 4. 然后就可以clone新仓库地址开发了
    git clone <new_remote_url>
    
    

    git push --mirror 可能会因为新的远程仓库 master/main 分支受保护而无权限推送,则需要授权后在执行 push

    异常处理

    fatal: bad numeric config value 'fasle' for 'core.ignorecase': invalid unit

    错误原因:给配置项设置了错误的属性值,拼写错误、不正确的值等

    根据错误信息可以看到 false 拼写错误。直接修改为正确的值有时并不能生效,需先清除该配置,然后重新设置

    清除配置

    git config --global --unset core.ignorecase
    

    有可能会提示有多个属性值

    warning: core.ignorecase has multiple values
    

    清除该配置的所有值

    git config --global --unset-all core.ignorecase
    

    然后重新设置

    git config --global core.ignorecase false
    

    如果还不生效,有可能是当前仓库有单独设置 ignorecasetrue,修改为 false 即可

    git config core.ignorecase false
    

    相关文章

      网友评论

          本文标题:Note-git 常用命令

          本文链接:https://www.haomeiwen.com/subject/zohncrtx.html