主要是列一张表,介绍一下命令,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 git@github.com: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 git@github.com: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 "youremail@example.com" | 用于生成本地的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/标签名称 | 删除远程标签 |