Git-常用命令
Git 是一个比较优秀的分布式代码管理工具、如果没有接触过Git的话、在这里推荐一个不错的自学网站 点击这里
日常工作中我们会经常用到一些Git命令、可能回想不起来这里特意整理记录一下、以后方便查找!
创建
clone
使用 clone
命令可以复制一个已经创建的仓库 使用方式:
$ git clone https://github.com/shishoufengwise1234/AndroidKotlinExample.git
会在当前文件夹下检出远程仓库文件。
克隆指定分支
clone 默认会检出 master 分支、如果clone指定分支 需要在 clone 后面加上 -b
$ git clone -b dev_ssf https://github.com/shishoufengwise1234/AndroidKotlinExample.git
指定存放目录
当然clone的时候还可以指定存放检出项目的位置
$ git clone -b dev_ssf https://github.com/shishoufengwise1234/AndroidKotlinExample.git /Example/codes
git 地址就是自定义存放目录,上述命令会在 /Example/codes/ 下检出项目、如果不存在 /Example/codes 目录 git 会自动新建。
init
init 命令会在当前文件下创建一个新的本地仓库
$ git init
修改与提交
status
$ git status
status 命令能够将当前工作路径下全部修改的文件都能显示出来
diff
$ git diff
使用 diff 命令可以显示与上次提交版本文件的不同、当然还可以指定提交记录
$ git diff <commit id>
add
$ git add .
add . 是将当前所有修改添加到下次提交中、当然也可以添加指定文件
$ git add a.java
commit
$ git commit -a “commit log desc”
提交本地所有修改、当然也把当前所有修改的文件 添加到本地提交中
$ git commit -am "commit desc"
是将本地所有修改文件添加到暂存区、并一起提交
分支管理
查看分支
branch
$ git branch
使用 git branch 命令查看当前分支
查看所有分支 使用 git branch -a 命令
$ git branch -a
创建分支
创建分支有两种方式
- git branch [new-branch]
- git checkout -b [new-branch]
上述两种方式都是基于当期分支创建一个新的分支
比如创建一个名为 dev_test 的分支:
- 使用 git branch 创建分支
$ git branch dev_test
- 使用 git checkout -b 创建分支
$ git checkout -b dev_test
切换分支
使用 git check 命令可以在各个分支之间自由的切换
命令语法:git checkout [branch-name]
$ git checkout master
删除分支
git 的删除分支 分为删除本地分支和删除远程分支:
删除本地分支
$ git branch -d [branch-name]
使用 branch -d 删除本地分支,此时并没有删除远程分支
删除远程分支
$ git push <remote> --delete [branch-name]
- remote 表示远程名称
- branch name 分支名称
创建标签
$ git tag [tag-name]
使用 git tag 命令给当前的提交打标签
查看标签
$ git tag -l
使用 git tag -l 命令查看当前配置所有的标签
更新与发布
查看当前配置的远程端
$ git remote -v
显示远程端信息
$ git remote show [remote]
添加新的远程端
$ git remote add [short-name] [url]
下载远程端的所以改动到本地不会自动合并到本地
$ git fetch [remote]
使用 fetch 命令将所有远端所有改动下载到本地、但是不会自动合并到本地
下载远程端的所以改动到本地自动合并到本地
$ git pull [remote] [branch-name]
发布标签
$ git push --tags
合并与重置
将分支合并到当前分支
$ git merge [branch-name]
将当前版本重置到分支中
$ git rebase [branch-name]
注意 请勿重置已发布的提交!
退出重置
$ git rebase --abort
解决冲突后继续重置
$ git rebase --continue
历史记录
查看所有提交记录
git log 命令可以查看所有提交记录
$ git log
执行该命令后 如果一直按下回车键 会一直查看 提交记录
显示指定文件的所有修改
$ git log -p [file-name]
查看指定文件修改的内容
$ git blame [file-name]
使用 blame 命令可以查看 是谁、在什么时间、修改了文件什么内容
示例:
回滚
放弃工作目录下所有修改
$ git reset --hard HEAD
放弃某个文件的所有本地修改
$ git checkout HEAD [file-name]
重置一个提交
$ git revert [commit]
git reset --hard
git reset --hard 命令 将HEAD重置到上一次提交的版本、并抛弃该版本之后的所有修改。
$ git reset --hard [commit]
git reset
git reset 命令 将HEAD重置到上一次提交的版本、并将之后修改标记为未添加到缓存区的修改。
$ git reset [commit]
git reset --keep
git reset --keep 命令 将HEAD重置到上一次提交的版本、并保留未提交的本地修改
$ git reset --keep [commit]