git 常用命令
初始化仓库
// 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
如果还不生效,有可能是当前仓库有单独设置 ignorecase
为 true
,修改为 false
即可
git config core.ignorecase false
完