Git从入门到放弃——Git命令篇

来源:互联网 发布:最近朋友圈 网络 红人 编辑:程序博客网 时间:2024/05/02 00:22

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里 (什么都不输入,一直下一步就行)

CXP

CXP

Key 就是id_rsa.pub里的文本 (配置了以后就可以git push了,嘻嘻)

git push -u origin master (第一次发布加-u,后面推送简写 git push origin master)

先创建空文件夹

git init 初始化git仓库

CXP

git status 查看状态

CXP

git add file 添加指定单个文件到暂存区

CXP

git add file file 添加指定多个文件到暂存区

git remote 查看远程版本库 (前提是你得先连上远程库)

git remote -v 显示详细信息

CXP

git commit -m “提交描述” 提交暂存区里的所有文件

CXP

git diff file 查看文件修改了那些地方

CXP

git log 查看提交日志

git log –pretty=oneline 减少代码量

git reflog 显示commit id 的提交日志

CXP

git reset –hard HEAD^ 回到上次提交的版本

git reset –hard 3628164 (3628164这个是commit id 的前几位,前几位都没关系,尽量多写几位) 回到指定版本

git checkout – file 在没有添加到暂存区(git add *)的时候可以撤销当前操作

CXP

git reset HEAD file 在添加到暂存区(git add *)以后,可以还原到工作区,然后再执行 (git checkout – file),就可以撤销当前操作

CXP

git rm file 删除文件 然后如果是 提交修改(git commit -m “”),则版本库就没有啦,但如果误删了 (没提交的时候才能撤回),要撤回,先执行 git reset HEAD file 然后执行 git checkout – file

CXP

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上下载库文件

CXP

git branch cxp 创建cxp分支

git checkout cxp 切换到cxp分支

git checkout -b cxp 创建并切换到cxp分支

git branch 查看分支 当前分支签名用*号表示

git branch -d cxp 删除cxp分支 git branch -D cxp 强行删除(没有合并分支就删除)

CXP

git merge cxp 合并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这个不能查看

CXP

git stash 保存当前文件修改状态(就是不提交,把修改的隐藏,显示以前的内容)

git stash list 查看stash列表

CXP

git stash apply stash@{*} 提取当前状态但不在stash列表中删除

git stash drop stash@{*} 删除stash列表中信息

git stash pop stash@{*} 提取当前状态并在stash列表中删除

CXP

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 删除远程库上的标签(先删除本地的再删除远程库上的)

CXP

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 * 强制添加过滤文件

CXP

CXP

—————–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 更新到本地

更多更详细的Git命令

0 0