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都
$ 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都
暂无评论