登录/注册
小开开
2649
占位
2
占位
0
浏览量
占位
粉丝
占位
关注
git命令大全
小开开
2020-08-27 22:19:44 2020-08-27
277
0
$ git init  // 初始化一个Git仓库
$ git status   // 查看仓库的状态
$ git add .   // 将所有修改添加到暂存区
$ git add *  // Ant风格添加修改
$ git add *Controller   // 将以Controller结尾的文件的所有修改添加到暂存区
$ git add Hello*   // 将所有以Hello开头的文件的修改添加到暂存区 例如:HelloWorld.txt,Hello.java,HelloGit.txt ...
$ git add Hello?   // 将以Hello开头后面只有一位的文件的修改提交到暂存区 例如:Hello1.txt,HelloA.java 如果是HelloGit.txt或者Hello.java是不会被添加的
可以多次添加然后在提交
$ git commit -m "comment"  // 将暂存区的修改提交到仓库 后面添加上有意义的注视信息
$ git diff  file  // 在file被修改了还未提交的时候查看修改的部分(和版本库中最新版本的不同 diff == difference 不同)
$ git log  // 查看git的commit信息,每次提交的信息包括注视在内,从最新提交到最久提交
$ git log --pretty=oneline   // 将commit 信息简化成一行显示
注意Git的版本号(commit id)是SHA1值ea34578d5496d7dd233c827ed32a8cd576c5ee85
$ git reset --hard HEAD^   // 退回到相对于当前版本的上一个版本 HEAD 表示当前版本
$ git reset --hard HEAD^^  // 退回到相对于当前版本的上上一个版本  HEAD 代表当前版本
$ git reset --hard HEAD~100 //退回到相对于当前版本的上 100 个版本去  HEAD 表示当前版本
$ git reset --hard 3628164  // 退回到指定的版本   这里不需要全部写commit id  Git 回去自动适配
Git的版本回退速度非常快,因为Git在内部有个指向当前版本的HEAD指针,当你回退版本的时候,Git仅仅是把HEAD从指向append GPL
$ git reflog   // 在退回到旧版本之后可以查看旧版本之前的提交日志
当我们想从一个旧版本退回到新版本但是我们关闭了shell窗口,不能查看之前的commit id了,就可以通过
$ git reflog 查看到之前的版本的commit id
$ git reset --hard 3628164


工作区和暂存区
工作区: 就是我们通$ git init 创建的代码库的所有文件但是不包括 .git文件(版本库)
暂存区: 我们通过$ git add ./*/*Xxx/Xxxx* 添加的修改,都是进入到暂存区了,肉眼不可见 通过 $ git status  可以看到修改的状态
什么是修改?
  比如你新增了一行,这就是一个修改,
  删除了一行,也是一个修改,
  更改了某些字符,也是一个修改,
  删了一些又加了一些,也是一个修改,
  甚至创建一个新文件,也算一个修改。


修改只能在被add 到暂存区以后才能被提交
在file 已经修改还未add的时候
$ git checkout --file  // 表示丢弃工作区的修改退回原始状态(不包括以及添加到暂存区的修改)
file已经修改和添加到了暂存区,还未commit
$ git reset HEAD file   // 丢弃file已经添加到暂存区的修改  HEAD 表示最新版本


如果file修改已经提交到本地仓库
$ git reset --hard HEAD^   //退回到上一个版本


$ rm file  // 从文件系统中删除文件(Git 中还是有记录),$ git status 的时候Git 会告诉你有一个file 被删除了
$ git rm file  // 从Git版本库中删除文件(同时从文件系统中删除文件) $ git status  正常


$ git rm file  // 从git版本库中删除文件
$ git commit -m "delete file" // 提交删除
$ git checkout file  // 想要从git恢复 会出现:error: pathspec 'README.txt' did not match any file(s) known to git.
$ git reset --hard HEAD^  // 恢复到上一个版本 可以恢复文件


$ rm file   //在文件系统中删除文件
$ git checkout file  // 由于是通过文件系统删除的所以可以通过checkout恢复


$ ssh-keygen -t rsa -C "youremail@example.com"  // 创建SSH Key
由于这个Key也不是用于军事目的,所以也无需设置密码,所以一路回车就好,
如果顺利会在user下UserName目录中生成一个.ssh目录里面有id_rsa和id_rsa.pub两个文件
id_rsa是私钥,不能泄露出去,id_rsa.pub是公钥,可以告诉他人还有在github上添加的也是这个公钥
登陆GitHub,打开“Account settings”,“SSH Keys”页面,点“Add SSH Key”,填上任意Title,在Key文本框里粘贴id_rsa.pub文件的内容
GitHub允许你添加多个Key。假定你有若干电脑,你一会儿在公司提交,一会儿在家里提交,只要把每台电脑的Key都
暂无评论