首页 > 代码库 > git笔记

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代码管理软件

             

git笔记