近期在将源码保存到github、coding之类的git管理仓库,为之做个记录。
基本操作
-
git init
仓库初始化 -
git add <文件名>
添加文件到本地仓库暂存区 -
git commit -m "<提交描述>"
提交到本地仓库 -
git branch <分支名>
本地仓库创建分支 -
git switch <分支名>
本地切换分支也可以直接用
git checkout -b <分支名>
表示创建并切换到分支 -
git remote add <远程仓库名> <远程仓库地址>
关联/添加远程仓库 -
git push <远程仓库名> <远程仓库分支>
提交到远程仓库
重命名git分支名称
-
git branch -m <要改的本地分支名> <修改后的分支名>
修改本地分支 -
git push origin :<远程修改前的分支名>
删除远程分支 -
git push origin <修改后的分支名>:<修改后的分支名>
push到远程分支 -
git branch --set-upstream <修改后的分支名> <origin/修改后的分支名>
绑定远程分支
克隆指定分支/版本库
git clone -b <分支名> <远程仓库地址>
克隆制定分支
git clone -b <版本库> <远程仓库地址>
克隆指定版本库
git强制推送
git push <远程库名> <远程库分支> --force
强制推送
git版本回退
git log
查看历史commit记录
Author: Qj9901 <z81137@126.com>
Date: Wed Nov 20 14:45:48 2019 +0800
删除Matery
commit e7e54977b20d4b54163e822e3b64ebc97919ff32
Author: Qj9901 <z81137@126.com>
Date: Wed Nov 20 14:23:26 2019 +0800
修复matery漏图
commit 218e62a361fcf3bcbd7ac7dc4fc4788e4ac14fac
Author: Qj9901 <z81137@126.com>
Date: Wed Nov 20 14:22:11 2019 +0800
git log --pretty=oneline
加上--pretty=oneline
,看起来更简洁
$ git log --pretty=oneline
a1891ad7f1b0330a71e5aca38c7d1b47f9f791ba (HEAD -> master, origin/master, origin/HEAD) 删除Matery
e7e54977b20d4b54163e822e3b64ebc97919ff32 修复matery漏图
218e62a361fcf3bcbd7ac7dc4fc4788e4ac14fac 修复matery漏图
git reset --hard <版本id>
回退到对应id的版本 <版本id>就是上面一长串的英文数字组合
回退版本后又想回到新版怎么办?
git reflog
记录你的每一次命令
在Git中,当使用git reset --hard <版本id>
回退到旧版本时,再想恢复到新版本,就必须找到新版本的版本id。Git提供了一个命令git reflog用来记录你的每一次命令:
$ git reflog
218e62a (HEAD -> master) HEAD@{0}: reset: moving to 218e62a
a1891ad (origin/master, origin/HEAD) HEAD@{3}: commit: 删除Matery
e7e5497 HEAD@{4}: commit: 修复matery漏图
218e62a (HEAD -> master) HEAD@{5}: commit: 修复matery漏图
git 添加标签
git tag <tag_name>
给当前库添加标签( lightweight 类型) 简洁型
git tag -a <tag_name> -m "tag 描述"
给当前库添加标签( annotated 类型) 有详细信息型