git-useful-commands

记录一些些 git 常用指令.

基础指令·

git init 创建一个空的仓库

git add <name> 把文件 <name> 放到暂存区 也可以是文件夹

git commit -m <message> 提交暂存区到仓库 并且注释是 <message>

git status 查看目前仓库的信息 包含哪些文件修改了 哪些还没提交

git diff <name> 查看 <name> 文件 本地当前版本与仓库中版本的区别

git log 从最近到最远 查看日志 每次改了啥子

版本相关·

git reset --hard <commit_id> 回退到某个版本 <commit_id> 指的是 git log 中 commit 后面那一大串玩意儿 <commit_id>HEAD^ 表示上一个版本 HEAD^^ 表示上两个版本 HEAD~100 表示之前一百个版本

git reflog 可以看命令历史 记录了每一次命令 git log 里没有的东西他也有

假设你改了文件 但还没有把他 add 到暂存区 可以用 git restore <name> 把他还原成仓库中的样子

假设你改了文件 并且把他 add 到了暂存区 先用 git restore --staged <name> 把他从暂存区扒出来 然后再 git restore <name> 还原

删除文件 首先在本地把文件删掉 然后 git rm <name> 将其从仓库中删掉

如果本地误删除 但还没从仓库中删掉 可以 git restore <name> 将其恢复

远程仓库·

在本地仓库下 运行 git remote add origin <*.git> 把这个远程仓库的地址添加到本地

git push -u origin <branch name> 把本地的仓库推送到远程仓库上

第一次需要 -u 去把本地跟远程连接起来 以后只要 git push 就可以了

git remote -v 查看本地连接的远程仓库信息

git remote rm <name> 删除远程仓库与本地的绑定关系

git clone <*.git> 从远程克隆一个本地库

分支管理·

git branch <name> 新建一个分支

git branch 查看所有分支和当前分支

git branch -d <name> 删除一个分支

git checkout <name> 或者 git switch <name> 切换分支

git checkout -b <name> 或者 git switch -c <name> 新建一个分支并切换过去

git merge <name> 合并分支到当前分支上

git push origin <branch_name> 将本地某个分支推送到远程

git push origin -d <branch_name> 删除远程分支

如果推送失败 先用 git pull 抓取新的(别人的)提交

git branch --set-upstream-to=origin/dev dev 将本地的 dev 分支 与 远程的 dev 分支连起来

git checkout -b <branch-name> origin/<branch-name> 在本地创建和远程分支对应的分支