Git 常用命令
1. 基础操作
-
设置用户名和邮箱
git config set --[local|global|system] user.name "yourName" git config set --[local|global|system] user.email "yourmail@example.com"
-
暂存区的文件修改后,恢复上次暂存的状态
git restore [filename]
-
未提交、已暂存(staged)的文件暂存后,取消暂存
git restore --staged [filename]
2. 分支
-
分支重命名
# rename master to main git branch -m master main
-
创建分支并切换至分支
git branch [branch_name] git checkout [branch_name]
-
创建并立即切换至新分支便捷版本
git checkout -b [branch_name]
-
删除分支
git branch -d [branch_name]
-
合并分支
# 将 [branch_name] 分支合并至当前分支 git merge [branch_name]
3. 远程分支
-
添加和移除远程仓库
git remote add [shortname] url git remote rm [shortname]
-
查看远程仓库
git remote show [shortname]
-
远程仓库重命名
git remote rename [old_shortname] [new_shortname]
-
拉取远程分支
git fetch [shortname]
-
推送
# 本地 branch_name 分支推送至远程 branch_name 分支 git push [remote_repo] [branch_name] # 将本地 branch_name 分支退送至远程 remote_branch_name 分支 git push [remote_repo] [branch_name:remote_branch_name]
-
拉取远程分支,并在远程分支的基础上建立自己的分支(跟踪分支)
git checkout -b [branch_name] [remote_repo:branch_name] # 等价于 git checkout --track [repo_repo:branch_name]
-
删除远程分支
git push [remote_repo] --delete [branch_name]
4. 变基
-
将 experiment 分支的所有修改都移动至 master 分支之上
git checkout dev git rebase master # 或者 git rebase master dev
-
复杂情况:如下图所示,将 client 分支中的修改合并到 master 分支并发布,但暂时并不想合并 server 中的修改
git rebase --onto master server client