主要是列一张表,介绍一下命令,git bash 中的关于git的命令;
注意,这个部分命令需要切换到对应的版本库目录(工作区目录)执行(部分不用)
linux相关
在用命令操作git之前,你需要了解一些linux命令
这里不赘述
开始
命令详情 |
描述 |
git help |
查看命令相关的帮助 获取特定命令的帮助示例:git push --help |
git --version |
查看当前git的版本 |
git init |
初始化本地版本库 |
git push --force origin master |
缩写为-f |
git init --bare |
初始化裸库 |
创建用户相关
命令详情 |
描述 |
git config --system user.name /git config --system user.email |
创建系统用户的通行证 ,后跟用户名和邮箱 |
git config --global user.name /git config --global user.email |
创建全局用户的通行证,后跟用户名和邮箱 |
git config user.name /git config user.email |
创建本地库的通行证(只对当前项目的版本库生效),后跟用户名和邮箱 |
git config --list |
查看配置信息,包含了用户的信息 |
git config --system --list |
查看系统用户的信息 |
git config --global --list |
查看全局用户的信息 |
基本操作相关
注意,这个需要切换到对应的版本库目录(工作区目录)执行(部分不用)
这里的删除操作通过删除工作区在add,commit即可
命令详情 |
描述 |
git status /git status -s |
查看当前git状态,既文件的版本控制状态 |
git add |
添加文件到暂存区,后跟一个或多个文件名,可以使用通配符 |
git commit -m |
提交文件到本地版本库,-m表示 附带注释 |
.gitignore |
文件名,在工作区目录下,用于控制本git忽略的文件,需要添加和提交生效 |
git diff |
查看工作区文件和暂存区文件的不同,后跟文件名 |
git diff --cached |
查看暂存区文件和本地版本库文件的区别,后跟文件名 |
git checkout |
取消对工作区文件的修改,可以看做暂存区的文件覆盖掉了工作区文件,后跟文件名 |
git reset HEAD |
文件修改已经添加到了暂存区,取消修改,可以理解为版本回退 ,和上一个命令一起用,后跟文件 |
git log |
查看git的版本日志,提交历史 |
git log --pretty=oneline |
上面的简短输出 |
git log --pretty=oneline --abbrev-commit |
上面的简单输出 |
git reflog |
查看所有的版本日志,包括版本回退后的日志 |
git reset --soft |
回退版本,后跟HEAD指针指定的版本,仅仅改变本地版本库文件状态 |
git reset --mixed |
-回退版本,-mixed 是这个命令的默认选项,改变本地版本库,暂存区 |
git reset --hard |
回退版本,改变本地库,暂存区,工作区,后跟后跟HEAD指针指定的版本 |
git ls-files |
查看当前暂存区的文件列表 |
git ls-files --with-tree=HEAD |
查看当前版本本地库的文件列表,可以调节head指针的位置查看其它版本 |
git -rm --cached |
删除暂存区的文件,后跟文件名,删除本地库,执行该操作后提交即可 |
git rm |
删除工作区,暂存区,后跟文件名,本地库,执行该操作后提交即可 |
git 分支
命令详情 |
描述 |
git checkout -b 分支名称 |
创建并切换到该分支 |
git branch 分支名称 |
仅仅创建该分支 |
git checkout 分支名称 |
切换到指定分支 |
git branch |
查看分支-r选项,可以用来查看远程分支,-a选项查看所有分支。 |
git branch -d 分支名称 |
删除分支 |
git merge 分支名称 |
合并分支 |
git log --pretty=oneline --abbrev-commit --graph |
–graph是必须的,查看多分支的版本历史 |
git branch -v |
查看当前分支的最后一次提交 |
git branch --merged |
查看哪些分支已经合并到当前分支 |
git branch --no-merged |
查看所有包含未合并工作的分支 |
git branch -D 分支名称 |
工作未合并可能会删除失败,这需要-D强制删除 |
git rebase |
将某一分支的部分特性提交到其他分支,不太了解 |
github远程库
命令详情 |
描述 |
git remote add 远程库名称 ssh协议地址 |
这里的名称是自己起的,协议地址是Github生成的示例:git remote add origin [email protected]:cloudinwinter/billing.git |
git push origin master |
将本地版本库中master分支推送到origin远程库。 |
git push origin |
将本地版本库中当前分支推送到origin远程版本库。 |
git push-u origin |
将本地版本库master分支推送到origin远程版本库,并将origin设置为默认的远程库,即以后所有git push就不用再指定远程版本库了。 |
git push |
将本地版本库中当前分支推送到默认远程片库。 |
git clone 远程库地址 |
示例:git clone [email protected]:cloudinwinter/billing.git(这是ssh协议生成的远程库地址) |
git pull origin master |
将远程库origin的master分支拉取到本地库与本库库的master分支合并。 |
git pull origin master dev |
将远程库origin的master分支拉取到本地并与本的dev分支合 * |
git pull |
人默认远程库的拉取本地库当前分支内容,并与本地库当前分支合并。 |
git reomote |
:该命令可列举出当前本地版本库可操作的远程版本库名称 |
git remote -v |
:该命令可以显示出更为详细的信息:远程库地址及本地库可执行的操作权限。 |
git remote rm 远程库名称 |
删除本地的远程库信息 |
ssh-keygen -t rsa -C "[email protected]" |
用于生成本地的ssh的公钥和私钥 |
git fetch |
后跟远程库地址或名称,用于获取更新 |
git 标签
命令详情 |
描述 |
git tag 标签名称 |
创建轻量级标签 |
git tag -a 标签名称 -m 附带信息 |
创建附注标签 |
以上两个命令+ 指定的版本的id前七位 |
创建指定版本的标签 |
git tag |
列出标签 |
git tag -l ‘v1.8.5*’ |
列出指定的标签,这是一个示例 |
git show 标签名称 |
列出标签的详细信息 |
git push 远程库名称 标签名称 |
推动标签到远程版本库 |
git push origin --tags |
把所有不在远程仓库服务器上的标签全部传送到那里 |
git tag -d 标签名称 |
删除本地标签 |
git push origin:refs/ltas/标签名称 |
删除远程标签 |