Git从入门到放弃——Git命令篇
本人接触编程不久,对一些没有接触过的东西好奇心比较重,之所以会写博客,是因为之前保存到本地,由于一些原因,大部分丢失了,所以准备存到博客上,以便以后查看使用,可能会有一些简单的东西,也可能会有写得不好的地方,求不喷,对别人有用最好,误导了人也别怪,可以评论告诉我一声,我改了就是了。
每个人都有自己的学习方法,适合自己的才是最好的,所以在网上看到,就练习一遍,然后自己成功了,再记录下来,以便日后查看。
—————–git命令—————-
git config –global color.ui true Git会适当地显示不同的颜色
git config –global user.name “CXP” 用户名
git config –global user.email “q978515743@163.com” 用户邮箱
(不执行上面两句,不让提交,因为没有账号)
ssh-keygen -t rsa -C “q978515743@163.com” 生成SHH Key 在C:\Users\CXP 下的.ssh里 (什么都不输入,一直下一步就行)
Key 就是id_rsa.pub里的文本 (配置了以后就可以git push了,嘻嘻)
git push -u origin master (第一次发布加-u,后面推送简写 git push origin master)
先创建空文件夹
git init 初始化git仓库
git status 查看状态
git add file 添加指定单个文件到暂存区
git add file file 添加指定多个文件到暂存区
git remote 查看远程版本库 (前提是你得先连上远程库)
git remote -v 显示详细信息
git commit -m “提交描述” 提交暂存区里的所有文件
git diff file 查看文件修改了那些地方
git log 查看提交日志
git log –pretty=oneline 减少代码量
git reflog 显示commit id 的提交日志
git reset –hard HEAD^ 回到上次提交的版本
git reset –hard 3628164 (3628164这个是commit id 的前几位,前几位都没关系,尽量多写几位) 回到指定版本
git checkout – file 在没有添加到暂存区(git add *)的时候可以撤销当前操作
git reset HEAD file 在添加到暂存区(git add *)以后,可以还原到工作区,然后再执行 (git checkout – file),就可以撤销当前操作
git rm file 删除文件 然后如果是 提交修改(git commit -m “”),则版本库就没有啦,但如果误删了 (没提交的时候才能撤回),要撤回,先执行 git reset HEAD file 然后执行 git checkout – file
git remote add origin git@github.com:cxp521/cxp_git.git (cxp521:github账号,cxp_git:库名 origin:git的默认叫法,远程库) 连接远程库
git clone git@github.com:cxp521/test.git 从github上下载库文件
git branch cxp 创建cxp分支
git checkout cxp 切换到cxp分支
git checkout -b cxp 创建并切换到cxp分支
git branch 查看分支 当前分支签名用*号表示
git branch -d cxp 删除cxp分支 git branch -D cxp 强行删除(没有合并分支就删除)
git merge cxp 合并cxp分支
git log –graph 看分支合并图
git log –graph –pretty=oneline –abbrev-commit (–pretty=oneline:单行 –abbrev-commit:显示前几个SHA-1 (commit id))
git merge –no-ff -m “提交描述” cxp 这样合并分支能看到之前分支里提交的描述信息,方便查看,而git merge cxp这个不能查看
git stash 保存当前文件修改状态(就是不提交,把修改的隐藏,显示以前的内容)
git stash list 查看stash列表
git stash apply stash@{*} 提取当前状态但不在stash列表中删除
git stash drop stash@{*} 删除stash列表中信息
git stash pop stash@{*} 提取当前状态并在stash列表中删除
git push origin dev 推送分支 (推到远程库)
git tag v1.0 给HEAD打标签
git tag -a v1.0 -m “提交描述” commit id 给指定commit id 打标签
git push origin v1.0 推送一个标签
git push origin –tags 推送所有标签
git tag -d v1.0 删除标签
git tag 查看标签
git show v2.0 查看标签详情
git push origin :refs/tags/v1.0 删除远程库上的标签(先删除本地的再删除远程库上的)
git add . 添加所有文件
git config –global alias.st status 把git status命令换成 git st 就是st替换了status
git config –global alias.unstage ‘reset HEAD’ 就是把 git reset HEAD file 换成了 git unstage file
git config –global alias.lg “log –color –graph –pretty=format:’%Cred%h%Creset -%C(yellow)%d%Creset %s %Cgreen(%cr) %C(bold blue)<%an>%Creset’ –abbrev-commit” 改了字体颜色,比较好看的log
配置加–global 对当前用户 不加对当前仓库
在远程库添加.gitignore文件,可以过滤不想提交的文件,如果过滤不掉先试试(git rm -r –cached .),然后再试试。
git add -f * 强制添加过滤文件
—————–git命令整理—————-
git config –global color.ui true Git会适当地显示不同的颜色
git config –global user.name “CXP” 用户名
git config –global user.email “q978515743@163.com” 用户邮箱
(不执行上面两句,不让提交,因为没有账号)
git init 初始化
git status 查看状态
git remote 查看版本库 git remote -v 显示详细信息
git add file 添加单个文件
git add file file 添加多个文件
git commit -m “提交描述” 确认提交
git diff 查看修改了什么
git log 查看提交日志 (git log –pretty=oneline 减少代码量)
git reset –hard HEAD^ 回到上次提交的版本
git reset –hard 3628164 (3628164这个是commit id 的前几位,前几位都没关系,尽量多写几位) 回到指定版本
git reflog 查看操作记录 (有commit id)
git checkout – file 在没有添加到暂存区(git add *)的时候可以撤销当前操作
git reset HEAD file 在添加到暂存区(git add *)以后,可以还原到工作区,然后再执行 (git checkout – file),就可以撤销当前操作
git rm file 删除文件 然后如果是 提交修改(git commit -m “”),则版本库就没有啦,但如果误删了,要撤回,先执行 git reset HEAD file 然后执行 git checkout – file
ssh-keygen -t rsa -C “q978515743@163.com” 生成SHH Key 在C:\Users\CXP 下的.ssh里 (什么都不输入,一直下一步就行)
git remote add origin git@github.com:cxp521/cxp_git.git (cxp521:github账号,cxp_git:库名 origin:git的默认叫法,远程库) 连接远程库
git push -u origin master (第一次发布加-u,后面推送简写 git push origin master)
git clone git@github.com:cxp521/test.git 从github上下载库文件
git branch cxp 创建cxp分支
git checkout cxp 切换到cxp分支
git checkout -b cxp 创建并切换到cxp分支
git branch 查看分支 当前分支签名用*号表示
git merge cxp 合并cxp分支
git branch -d cxp 删除cxp分支 git branch -D cxp 强行删除(没有合并分支就删除)
git log –graph 看分支合并图
git log –graph –pretty=oneline –abbrev-commit (–pretty=oneline:单行 –abbrev-commit:显示前几个SHA-1 (commit id))
git merge –no-ff -m “提交描述” cxp 这样合并分支能看到之前分支里提交的描述信息,方便查看,而git merge cxp这个不能查看
git stash 保存当前文件修改状态(就是不提交,把修改的隐藏,显示以前的内容)
git stash list 查看stash列表
git stash pop stash@{*} 提取当前状态并在stash列表中删除
git stash apply stash@{*} 提取当前状态但不在stash列表中删除
git stash drop stash@{*} 删除stash列表中信息
git push origin dev 推送分支
git tag v1.0 给HEAD打标签
git tag -a v1.0 -m “提交描述” commit id 给指定commit id 打标签
git push origin v1.0 推送一个标签
git push origin –tags 推送所有标签
git tag -d v1.0 删除标签
git push origin :refs/tags/v1.0 删除远程库上的标签(先删除本地的再删除远程库上的)
git add . 添加所有文件
git config –global alias.st status 把git status命令换成 git st 就是st替换了status
git config –global alias.unstage ‘reset HEAD’ 就是把 git reset HEAD file 换成了 git unstage file
git config –global alias.lg “log –color –graph –pretty=format:’%Cred%h%Creset -%C(yellow)%d%Creset %s %Cgreen(%cr) %C(bold blue)<%an>%Creset’ –abbrev-commit” 改了字体颜色,比较好看的log
配置加–global 对当前用户 不加对当前仓库
在远程库添加.gitignore文件,可以过滤不想提交的文件,如果过滤不掉先试试(git rm -r –cached .),然后再试试。
git add -f * 强制添加过滤文件
git pull 更新到本地