Git 常用命令
一.本地操作
1.初始化仓库:
git init
2.将文件添加进仓库缓冲区:
git add filename
3.将文件添加进仓库:
git commit -m "description"
4.查看仓库的状态:
git status
5.查看仓库中文件具体修改的信息(区别):
git diff filename
6.仓库版本回退(多次 commit 之间):
git reset --hard commit_id
#HEAD 为当前版本,HEAD^ 为前一个版本,允许 HEAD^^^^
git log
#查看提交历史 过去版本
git reflog
#查看命令历史 未来版本
7.撤销修改(上一次 commit 之后,下一次 commit 之前):
git restore filename
#修改文件后,回到最近一次 git commit 的状态
git restore --staged filename
#撤销最近一次add到暂存区的操作(unstage)放回工作区
8.删除文件:
git rm --cached filename
#only remove from the index(stage)
git rm filename
#删除工作目录中的文件,
#并把此次删除操作提交到暂存区
#(或者先手动删除本地工作目录文件,然后 git add 提交暂存区)
git commit -m"remove file"
9.误删恢复:
git restore --staged filename
#在暂存区中将删除操作丢弃
#也可以使用 git reset head filename
git restore filename
#将工作目录的文件恢复到版本库中的状态
#也可以使用 git checkout -- filename
二.远程操作:
前提是要将工作目录改为本地仓库
创建 SSH Key:
ssh-keygen -t rsa -C "youremail@example.com"
1.本地仓库关联远程仓库:
git remote add origin git@github.com:account_name/repo_name.git
#远程库名字默认为 origin,可修改
2.拉取远程仓库
git pull origin
#git pull = git fetch + git merge
3.将本地仓库的内容推送到远程仓库:
git push -u origin master
#第一次 push 时需要加上 -u,将本地 master 分支与远程默认 master 分支关联
git push origin master
4.查看远程库信息
git remote -v
5.删除远程库关联
git remote rm name
6.克隆远程仓库到本地仓库:
git clone git@github.com:account_name/repo_name.git
三.分支管理
1.创建分支:
git branch dev
2.查看当前分支:
git branch
3.切换分支:
git switch branch_name
git switch -c branch_name
#创建并切换分支
4.合并分支到当前分支:
git merge branch_name
5.删除分支:
git branch -d branch_name
6.分支管理策略
git merge --no-ff -m "merge with no-ff" branch_name
#禁用 Fast forward,可用 git log 查看分支历史
四.标签管理
1.新建本地标签
git tag tag_name (commit id)
#默认为 HEAD,也可以指定一个 commit id
2.删除本地标签
git tag -d tag_name
3.推送本地标签到远程
git push origin tag_name
git push origin --tags
#推送全部未推送过的本地标签
3.删除远程标签
git push origin :refs/tags/tag_name
4.标签备注
git tag -a tag_name -m "info..."
#可以指定标签信息"info..."
5.查看标签
git tag
#查看所有标签