Git
Git作为目前世界上最先进的分布式版本控制系统,是每个程序猿必须掌握的技能,本文将为你介绍git的图形化界面Github Desktop和Git Bash的使用
Github Desktop
- git的图形化界面
标签功能
创建标签标明提交原因
远程仓库
github
github desktop要求登录github账号,登录后可以直接拉取
gitee
拿到仓库的url,
可能还需要gitee的账号密码
文件内容比对
旧文件第一行改变,新文件第一行第二行
版本号
-
通过 SHA-1算法得到
-
是由以四十位十六进制的数组成
-
可以用于定位文件:前二位为文件夹名字,后38位为文件名
-
git-bash中的版本号
-
通过 git cat-file -p 版本号 可以查找对应文件的内容
-
第一次用该命令查找github desktop中得到的版本号可以得到提交信息
-
其中tree后面的版本号所指向的文件含有要查找的文件的状态
-
parent后面的版本号为上一次提交的版本号
-
-
第二次用该命令查找tree后的版本号
其中040000代表文件类型 tree后的版本号为其所指向文件,这里我是在src/com/learn下的文件,所以要多几次
-
最后得到文件真正的内容
-
-
对文件的增删改的变化
- 增加则出现版本号
- 修改则有版本号改变(文件引用改变)
- 删除则有版本号消失
- 但实际上,在仓库中的文件并不会真正的改变,实际上是出现新的文件,改变的是版本号所指向的版本号
Git Bash使用
-
git -v ---查看git版本
-
gti init ---在要创建仓库的文件夹创建初始化仓库
- 用git bash 和用 github desktop创建的不同
- gb初始化为空仓库,什么都没有
- gd初始化里面含有一个文件,并且已经提交过一次
- 用git bash 和用 github desktop创建的不同
-
git clone 仓库的url地址( 别名) --- 克隆远程仓库的内容到本地仓库(加上别名则克隆下来的文件夹就会加这个名字)
-
git (--global) config 配置名称 配置的值 ---给git进行配置(加上global就会为所有仓库配置)
-
可以直接在config文件中修改,但要注意修改的格式
[user] name = xxx password = xxx
-
-
git status -- 查看暂存区状态
-
git add 文件名 -- 添加工作区的文件到暂存区
- git add *.xxx 将后缀为xxx的文件放到暂存区
-
git rm --cached<文件名> -- 将暂存区的文件放回工作区
-
git commit -m 日志 -- 提交暂存区的文件到仓库
-
git log --- 查看提交记录
-
gti log 版本号/标签 --- 查看该版本及该版本之前的日志信息
-
git log -- online --- 查看提交记录简洁版
-
git restore 文件名 --- 从当前版本库中恢复文件
-
git reset --hard 版本号 --- 将当前仓库版本修改,可能会丢失当前版本之后的版本记录
-
git revert 版本号 --- 还原到当前版本的上一个版本
-
gti branch 分支名 --- 基于当前版本创建分支
-
git branch -v --- 查看分支
-
git checkout 分支名 --- 切换到该分支
-
git checkout -b 分支名 --- 创建分支并切换过去
-
git checkout -b 标签 --- 基于该标签代表的版本创建分支并切换过去,创建出来的分支名就是标签名
-
git branch -d 分支名 ---删除分支
-
git merge 分支名 --- 合并某个分支,需要先切换到目标分支
- 出现版本冲突时,到文件去选择你要的结果,再次提交即可
-
git tag --- 查看标签名
-
git tag 别名 版本号 --- 给该版本添加该标签
-
git tag -d 别名 --- 删除该标签
-
git remote add 名字 url/ssh --- 关联到远程仓库
-
git remote remove 名字 --- 删除关联
-
git remote rename --- 改名
-
git push 名字 --- 推送到远程仓库
-
使用ssh时需要安全认证
C之后为ssh连接,然后一直回车即可
会在用户目录里生成.ssh的文件夹
里面的这个文件包含了安全认证内容,打开全部复制,然后到远程仓库里SSH公钥里进行复制
-
-
git pull 名字 --- 拉取远程仓库的文件