git笔记
安装完git之后所要做的操作:
配置全局用户名和email
git config –global user.name “zjr”
git config –global user.email “18513316431@163.com”
配置的全局信息
git config –l
创建本地git仓库
A:/md gitres 新建文件夹
初始化git文件夹 git init(将一个文件夹作为本地git仓库)
git init 初始化git仓库,会出现.git文件
查看仓库的状态
git status
【on branch master:现在开发属于主分支上】
【initial commit:初始化仓库提交】
【UNtrackde files:未标记的文件】
【nothing added to commit but untracked files present ………..】
仓库的几个状态转变
只是修改状态(暂存区) 修改后提交的状态(缓存区) git真正的仓库(主分支状态)
(只有修改的部分) (从暂存区git add到缓存区) (git commit –m “修改信息”)
查看git的操作日志git log
查看git操作日志的简单方法 git log –pretty =oneline
使用HEAD 指针回退一步 git reset –hard HEAD~1
找到所有的回退的结果 git reflog
回退到指定的commit id git reset –hard commit id
只限于恢复“只是修改状态”的地方 git checkout – 文件名.后缀名
生成一个ssh key 使用git下的git base窗口输入一下 ssh-keygen –t rsa –c “邮箱名”
本地的仓库链接远程的github仓库
git remote add origin 地址 添加远程仓库地址
git remote rm origin 移除远程仓库地址
将本地的仓库内容推送到github上
git push –u origin master(将远程的master和本地的master相关连)
远程管理的帮助 git remote –help
创建分支 git branch brh
查看分支状态 git branch
选择切换分支 git checkout brh
删除本地又提交的分支 git branch –d brh(需要在别的分支上删除其他分支)
创建并切换分支 git checkout –b brh
合并分支 git merge brh (注意是在master上合并分支,合并后的子分支就没用了,可以直接删除)
删除远程分支(删除有提交过的分支)
git push origin –delete brh
重命名分支 git branch –m 原分支名 新分支名
将分支推送到远程 git push origin 分支名
在本地查看全部的分支名 git branch –a
在本地查看远程的分支名 git branch –r
在本地查看本地的分支名 git branch –l
删除本地当前正在修改的分支切未提交 git branch –D 分支名
删除远程分支的两种方式
git push origin –delete 分支名
git push origin:分支名(空分支)
查看冲突也是用查看状态 git status
手动修改完代码只有再次 git commit –a –m “”提交就行
(注意:手动解决冲突的时候会自动合并分支,直接提交就可以,然后再想github上提交)
查看分支合并的情况
git log –graph –pretty=oneline
非快速合并分支
git merge –no-ff –m “” 分支名
查看简短分支合并的日志信息
git log –graph –pretty=oneline –abbrev-commit
暂停当前工作任务(将当前的工作放到暂存区)
git stash
查看暂存区的列表内容
git stash list
从之前的暂存区中恢复并删除之前的暂存区
方式一:git stash apply git stash drop
方式二:git stash pop
生成标准补丁文件(在分支上修改后并提交的文件,【没必要和master合并】)
git diff master>生成补丁文件名
应用标准补丁文件是要先回到master上,再新建一个分支去应用补丁文件
git apply 补丁文件名(之后回到之分支,合并就行了 )
生成一个专业的补丁文件(在分支上修改后并提交的文件,【没必要和master合并】)
git format-patch –M 分支名( m这就是指相比较的分支名【注意这里会比较该分支名下所有的未合并的文件】)
应用专业补丁文件是要先回到master上,再新建一个分支去应用补丁文件
git am 专业补丁的文件名(之后回到之分支,合并就行了 )
将远程分支拷贝到本地git上
首先要建立一个与远程分支一样的文件夹,并切换到当前文件夹 git checkout –b 分支名
拷贝远程分支的内容 git merge origin/远程的分支名
拉去远程分支的的代码
git pull (拉去远程分支之前要使本地分支和分支产生关联【git branch –set-upstream-to=origin/分支名】)
定义当前分支一个标签
在当前的分支上 git tag 标签名
定义之前分支一个标签
在主分支上给之前的分支定义标签 git tag 标签名 提交的commitid
查看所有的标签
git tag
查看指定标签的详细信息
git show 标签名
为定义标签设置注释信息
git tag –a 标签名 –m “” 提交的commit id
安装GPG
在命令行中测试是否成功 gpg –help
生成秘钥
gpg—gen-key(之后会有个加密方式和密码程度以及秘钥的有效期与确认是否当前配置,然后填写自己的信息:名字、邮箱、通用,只有确认就行。紧接着会有个弹出框添加一个密码。回到命令行就有秘钥信息:注意一下信息(秘钥号和用户id))
撤销证书
gpg –gen-revoke 之前的秘钥号
列出所有得秘钥
Gpg –list–keys
为文件进行加密处理
Gpg –recipient 之前的秘钥号 –out put demo.en.txt –encrypt 加密的文件名。扩展名(demo.en.txt为输出的文件名)
为文件进行解密
Gpg –decrypt 之前的加密文件 –output 解密的文件名
使用gpg生成加密标签
git tag - u 指定的用户 –s 标签名 –m “” 分支的commitid
删除标签 git tag –d 标签名
单个推送标签到远程
Git push origin 标签名
群推送标签到远程
Git push origin –tags
删除本地标签
Git gag –d 标签名
删除远程标签
Git push origin :refs/tags/标签名
Svn代码管理软件