Git指令汇总
Posted Will.Guo
tags:
篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了Git指令汇总相关的知识,希望对你有一定的参考价值。
指令 | 含义 | 实例 |
---|---|---|
git config | git初始化有关的 | $ git config –get-all user.email |
mkdir | 创建磁盘目录 | |
cd | 进入目录 | |
pwd | 显示当前目录 | $ pwd 返回/Users/michael/learngit |
git init | 版本库初始化 | |
git add | 把文件添加到本地仓库 | 参数: -A 全部文件 -help查看帮助 git add命令实际上就是把要提交的所有修改放到暂存区(Stage) |
git commit | 提交到本地仓库 | 参数-m 后面输入的是本次提交的说明 git commit就可以一次性把暂存区的所有修改提交到分支 |
注意 | 为什么Git添加文件需要add,commit一共两步呢? | 因为commit可以一次提交很多文件,所以你可以多次add不同的文件,比如:$ git add file1.txt $ git add file2.txt file3.txt $ git commit -m “add 3 files.” |
git status | 掌握仓库当前的状态 | |
git diff | 查看某文件修改具体内容 | $ git diff readme.txt |
git log | 查看git commit的历史记录 | |
$ git reset | 回退到某一版本 | $ git reset –hard HEAD^ 回退到上一版本(注:上一个版本就是HEAD^,上上一个版本就是HEAD^^,当然往上100个版本写100个^比较容易数不过来,所以写成HEAD~100)最新的那个版本append GPL已经看不到了!想再回去已经回不去了,肿么办?办法其实还是有的,只要上面的命令行窗口还没有被关掉,你就可以顺着往上找啊找啊,找到那个append GPL的commit id是3628164…,于是就可以指定回到未来的某个版本: |
git reflog | 用来记录你的每一次命令 | |
git rm | 确实要从版本库中删除该文件,那就用命令git rm删掉,并且git commit | |
git checkout | 用版本库里的版本替换工作区的版本 | $ git checkout – test.txt |
$ git remote add origin git@github.com:michaelliao/learngit.git | 本地关联远程库 | 此部分需在github里找 |
$ git push origin master|把本地master分支的版本推送给远程origin远程库 | 第一次需$ git push -u origin master让本地和远程的master分支做关联 | |
$ git clone git@github.com:michaelliao/gitskills.git | 从远程库克隆一个本地库 | |
$ git branch dev $ git checkout dev | 创建dev分支 并 切换到dev分支 | 在dev分支继续代码编写,保证master分支不变 |
git checkout dev | 切换到dev分支 git checkout master 切换到master分支 | 通过git branch命令可以查看都有什么分支 。 分支的切换在物理文件存储部分会对应文件的改变 |
git merge dev | 假如此时在master分支下,则合并dev分支 | 如遇到分支冲突,用git status 查看冲突位置,手动打开文件解决冲突 然后 git add -A 和git commit -m “*” |
git branch -d dev | 删除dev分支 | |
git log –graph | 查看分支合并图 | |
git stash | 把当前工作现场“储藏”起来,等以后恢复现场后继续工作 | 当手头工作没有完成时,先把工作现场git stash一下,然后去修复bug,修复后,再git stash pop(可先用git stash list查看多个储藏情况),回到工作现场 |
$ git remote -v | 查看远程仓库详细信息 | 默认名为origin |
$ git push origin master | 把本地仓库master分支推送到远程仓库origin对应master分支 | |
$ git branch –set-upstream dev origin/dev | 指定本地dev分支与远程origin/dev分支的链接 | 合作开发时使用 |
git checkout -b branch-name origin/branch-name | 在本地创建和远程分支对应的分支 | 使用场景:本地checkout远程的开发分支dev |
$ git tag v1.0 (默认标签是打在最新提交的commit上的) | 打标签,这能增加或删除,不能像commit指针一样移动 | 其实就是对于某个commit起一个更容易记的名字,比如commit id 为213ddafnads不好记,记为v1.0就更好记了 |
git tag -d v0.1 | 删除某个本地标签 | |
git tag | 查看标签情况 | git show 查看标签详细信息 |
git push origin v1.0 | 推送某个本地标签到远程 | |
$ git tag -d v0.9 + $ git push origin :refs/tags/v0.9 | 删除远程tag 需删除本地tag 再删除远程tag | |
github | fork开源项目到自己github,git clone自己库里的该项目到本地,修改commit、push后可push request给原作者来贡献代码 | |
.gitignore文件 | 不需要从头写.gitignore文件,GitHub已经为我们准备了各种配置文件,只需要组合一下就可以使用了。所有配置文件可以直接在线浏览:https://github.com/github/gitignore | 在Git工作区的根目录下创建一个特殊的.gitignore文件(touch .ignore),然后把要忽略的文件名填进去,Git就会自动忽略这些文件 |
以上是关于Git指令汇总的主要内容,如果未能解决你的问题,请参考以下文章