Git常见用法
常见命令行
命令行 | 解释 |
---|
git status | 查看缓存与当前工作目录的状态 |
git status -s | 查看缓存与当前工作目录的状态,简短输出结果 |
-s返回的状态码 | 解释 |
---|
A | 本地新增的文件,服务器上没有 |
C | 文件的一个拷贝 |
D | 本地的删除,服务器上还在 |
M | 文件的内容或者mode被修改了 |
R | 文件名被修改了 |
T | 文件的类型被修改了 |
U | 文件没有被合并(需要合并后才能进行提交) |
X | 未知状态(可能是遇到了git的bug) |
? | 未被git进行管理,可以使用git add Xxx添加进git然后能够被git管理 |
命令行 | 解释 |
---|
git add Xxx | 添加某个或多个文件 |
git add . | 添加目录下的所有未被管理的文件 |
- diff:显示已写入缓存与已修改但尚未写入缓存的改动的区别
命令行 | 解释 |
---|
git diff | 尚未缓存的改动 |
git diff --cached | 查看已缓存的改动 |
git diff – HEAD | 查看已缓存的与未缓存的所有改动 |
git diff --stat | 显示摘要而非整个diff |
git diff --staged | 同git diff --cached |
命令行 | 解释 |
---|
git commit -m “描述内容” | 在add之后,将修改的文件添加到暂存区 |
git commit -a -m “描述内容” | 不需要add,直接在这个命令行执行add操作,并将修改的文件添加到暂存区 |
命令行 | 解释 |
---|
git reset HEAD – xxx(带有完整路径的文件) | 取消缓存已缓存的内容 |
实际的操作是将该文件在“索引”中的校验和重置为最近一次提交中的值,git add 会计算一个文件的校验和,将它添加到“索引”中,而 git reset HEAD – xxx 将它改写回原先的,从而取消缓存操作。
命令行 | 解释 |
---|
git rm --cached xxx(带有完整路径的文件) | 取消缓存已缓存的内容,同git reset HEAD – xxx |
git rm -f xxx(带有完整路径的文件) | 取消缓存已缓存的内容,并且从磁盘中删除该文件 |
命令行 | 解释 |
---|
git branch | 列出你在本地的分支,你所在的分支的行首会有个星号作标记 |
git branch xxx(分支名字) | 创建新分支,分支名字就是xxx |
git branch -a | 查看本地和远程的分支,远程分支以remotes/开头 |
git checkout xxx(分支名字) | 切换到分支xxx |
git checkout -b xxx(分支名字) | 创建新分支,并切换到新分支 |
git branch -d xxx(分支名字) | 删除分支(需要当前分支不是要被删除的分支,就是需要先切换到其他分支上去) |
命令行 | 解释 |
---|
git merge xxx(分支名字) | 将xxx分支合并到当前分支中 |
命令行 | 解释 |
---|
git log | 显示一个分支中提交的更改记录 |
git log --oneline | 查看历史记录的简洁版本 |
git log --graph | 查看历史中什么时候出现了分支、合并(可以与–oneline一起用) |
git log --decorate | 查看tag标签 |
- tag:标签
如果你达到了一个重要的阶段,并希望永远记住那个特别的提交快照,可以使用git tag给它打上标签。该tag命令基本上会给该特殊提交打上永久的书签,从而使你在将来能够用它与其他提交比较。通常,你会在发布一个新版本或者交付一些东西的时候打个标签。
命令行 | 解释 |
---|
git tag | 查看所有的tag标签 |
git tag -a xxx | 创建一个带注解的标签 |
命令行 | 解释 |
---|
git fetch | 从远端服务器下载新的分支和数据(就是与远程仓库同步) |
git pull | 从远端服务器提取新数据(相当于git fetch之后git merge) |
命令行 | 解释 |
---|
git push [alias] xxx | 将本地分支xxx推送到远端仓库默认分支上 |
git push [alias] xxx:xxx | 将本地分支xxx推送到远端仓库并新建远端分支xxx(需要远端仓库分支和本地分支同名) |
git push [alias] -d xxx | 删除远端仓库的xxx分支 |
git push [alias] : xxx | 推送一个空分支到远端仓库指定分支,也就相当于删除远端仓库xxx分支 |
git push origin master
git push origin : test
git push origin -d test
命令行 | 解释 |
---|
git push xxx yyy | 将本地的yyy分支推送到xxx远端上的yyy分支 |
命令行 | 解释 |
---|
git remote | 查看远端别名 |
git remote -v | 查看远端别名以及实际链接地址 |
git remote add [alias] [url] | 将url地址和以alias的别名添加为本地的远端仓库(就是将本地仓库与远端仓库建立连接) |
git remote rm [alias] | 删除远端仓库 |
个人微信联系方式:Kang_01123,从事安卓开发,希望一起前行,一起进阶