一、常用的git命令
- 配置
git config --local user.name "xxx" ---仅对当前Git仓库有效。配置信息将保存在当前Git仓库的 .git/config 文件中
local优先级最高,会覆盖其他范围的相同配置
git config --global user.email "xxx" ---全局生效,对当前用户的所有 Git 仓库都有效。配置信息将保存在用户的主目录下的 .gitconfig 文件中
git config --list:列出所有配置信息。
- 初始化
git init:初始化一个新的 Git 仓库
- 基本操作
git add <file> ---将工作区修改的文件提交到暂缓区
git commit ---将暂缓区文件提交到本地代码仓库
git push <remote> <branch> ---将本地代码仓库文件到远程代码仓库
git status:查看工作区和暂存区的状态
git log:查看提交历史记录
- 远程仓库
git remote -v:显示远程仓库的信息
git fetch <remote>:从远程仓库获取最新提交,但不合并到当前分
git push <remote> <branch>:推送本地提交到远程仓库
git pull <remote> <branch>: 从远程仓库下载最新的代码,然后将其合并到当前分支
<remote> 表示远程仓库的名称,如 origin;<branch> 表示分支的名称
git pull --no-merge <remote> <branch> :拉取操作将会下载最新的提交文件,但不会自动将其合并到当前分支,可以手动处理或检查后再进行合并操作
git fetch <remote: 从远程仓库下载最新的代码,不会合并到当前分支
git clone <repository_url>:克隆远程仓库到本地
- 分支管理
git branch -a:列出所有本地分支
git branch <branch_name>:创建新分支
git branch -d <branch_name>:删除指定分支
git checkout <branch_name>:切换到指定分支
git merge <branch>:合并指定分支到当前分支
git cherry-pick <commit>:选择一个指定的提交合并到当前分支
- 撤销操作
git restore --staged <file> ---撤销暂缓区提交的件到工作区
git reset --soft HEAD^ ---撤销本地代码仓库提交的文件恢复到暂缓区中,且删除commit提交记录
git reset --hard HEAD^ ---撤销本地代码仓库提交的文件,且删除该文件的修改记录,且删除commit提交记录
git reset --mixed HEAD^ ---撤销本地代码仓库提交的文件恢复到本地工作区中,且删除commit提交记录
git reset HEAD <file>:取消暂存文件,但保留更改
git checkout -- <file> :将指定文件恢复到最近一次提交的状态,如误删文件后恢复
- 其他
git diff:查看文件修改
git stash:将未提交的更改暂存起来
git stash save "message":保存修改,并添加描述信息
git stash list:查看保存的工作目录状态
git stash apply:应用最近一次保存的状态到工作目录
git stash pop:应用并删除最近一次保存的工作目录状态
git stash drop:删除最近一次保存的工作目录状态
git rebase:用于合并分支、修改提交、解决冲突等操作
- 合并分支
git rebase <branch> 命令,可以将当前分支的提交基与指定分支(一般是主分支或其他目标分支)对齐
- 修改提交
git rebase -i <commit> 命令,可以交互式地修改提交历史
- 解决冲突
解决冲突后,使用 git add <file> 将冲突文件标记为已解决,然后使用 git rebase --continue 继续应用剩余的提交