git 常用命令

111 阅读2分钟

config

git config --global user.name "name"
git config --global user.email "email"
# 查看
git config --global --list

init

git init

clone

git clone <repository-url>

add

git add <file-name>
# 添加所有更改文件
git add .

commit

git commit -m "message"
# 合并
git rebase -i
git merge --squash

stash

git stash -m "message"
# 查看
git stash list
# 应用
git stash apply
# 应用并删除最新一个
git stash pop
# 删除最新一个
git stash drop
# 删除指定暂存的记录  
$ git stash drop <stash@{0}>
# 清空
git stash clear

查看

# 状态
git status
# 日志
git log
git show

branch

# 创建
git branch <branch-name>
# 切换
git checkout <branch-name>
# 创建并切换
git checkout -b <branch-name>
# 删除,-D 强制删除
git branch -d <branch-name>
# 删除远端
git push origin --delete <branch-name>

合并分支

命令合并后的历史记录分支解决冲突是否产生新 commit
git merge保留两条并行的线会自动解决一些冲突
git rebase 变基合并为一条线,更整洁需要自己处理所有冲突

rebase 建议用于对自己 commit 的操作,避免修改别人的记录

相关命令

# merge 合并到当前分支
git merge <source-branch>
# 合并冲突时,可以执行这个命令放弃本次 merge
git merge --abort
# 合并 commit,后续还有复杂的操作
git merge --squash

# rebase 将当前分支的所有提交移动到另一个分支的顶部
git rebase <target-branch>
# 解决冲突并继续变基
git add <resolved-file>
git rebase --continue
# 跳过当前冲突的提交并继续变基
git rebase --skip
# 中断或取消变基
git rebase --abort
# 合并 commit,后续还有复杂的操作
git rebase -i

将特定的提交应用到当前分支

git cherry-pick <commit-hash>

添加远程仓库

git remote add origin <repository-url>

拉代码

# 不自动合并
git fetch
# 自动合并
git pull

push

git push
# 强制推送到远端,可能会覆盖或删除一些 commit
git push -f
# 推送本地分支到远程仓库并绑定
git push --set-upstream origin <your-local-branch>
git push -u origin <your-local-branch>

回滚

# 删除已有的 commit
git reset --soft <commit-hash>
git reset --hard <commit-hash>
# 保留已有的 commit
git revert <commit-hash>

从本地仓库中删除所有不再被任何远程跟踪分支引用的远程跟踪分支

git fetch --prune origin