git 基础命令


# 初始化仓库
git init

# clone 仓库
git clone
git clone --recursive

# 切换分支,使用-b选项将在当前分支的修改上创建新的分支
git checkout [b]

# 更新分支
git pull

# 添加修改到分支
git add path

# 添加提交注释
git commit -m "a" -m "b" -m ...

# 推送本次修改到分支
git push origin dest

# 查看或删除分支 -d 删除分支, -D强制删除分支
git branch -[radD]

# 将 src_branch 分支代码合并到 dst_branch 分支代码
git merge src_branch dst_branch


常见操作


推送本地分支到远程分支

# 将本地分支提交到指定仓库的远程分支上,如果远程分支不存在,则创建
git push repo_name.git branch_name

# 当远程分支已存在时,可以使用以下方式先绑定远程分支,然后直接push
git remote add branch_name repo_name.git
git push

# 将本地分支绑定到远程分支,远程分支必须已存在
git push --set-upstream local_branch remote_branch

# 撤销远程提交
# 获取要回撤到的sha
$ git log 
commit 8b4ca4b1147f779d960de15e5b434e0b0d4af0b8
commit 06b03bbb277ea68a77616e8e3a04236265fe2241
commit d84b54f3e23db4e92c93b1671421fa8d1340d5e9

# 假设我们要将远程仓库回退到d84b54f3e23db4e92c93b1671421fa8d1340d5e9对应的代码
$ git reset --soft d84b54f3e23db4e92c93b1671421fa8d1340d5e9  # 只将head修改到该commit,但是不改变代码
$ git reset --hard d84b54f3e23db4e92c93b1671421fa8d1340d5e9  # 不仅修改head指向,还将代码回退到该commit
$ git push origin remote_branch -f # 强制推送到远程仓库


删除分支

# 删除本地分支 -D 强制删除
git branch -d/D local_branch

# 删除远程分支
# 删除远程分支,并且删除追踪的分支
git push origin --delete branch

# 删除追踪分支
git branch --delete --remotes <remote>/<branch>