十四. git
git是应用程序,软件,用来管理代码版本控制的,即将一个项目的任何版本都进行自动存储。
github 网站(托管代码的一个网站)
gitee 网站 阿里,码云,做的国内的github
一.git的安装与使用
apt install git
显示git的版本号
git version
git的管理方式
-
集中式管理
合并时容易产生冲突,当服务器崩掉时可能代码丢失。
svn为集中式代码管理。
-
分布式管理
git就为分布式管理,每个都会把所有的版本存储一份。
git的使用
工作区,暂存区,本地仓库,远程仓库(一般github等)。
mkdir mycode//创建的文件夹就是工作区
vi main.c//创建main.c文件
git init//初始化空的git仓库于当前文件夹
ls -a//查看当前所有文件
git config --global user.email "295501139@qq.com"//设置邮箱
git config --global user.name "zhangxuan"//设置姓名
git add main.c//将main.c存入暂存区
git commit -m '第一个版本定义主函数(此处写修改的东西)'
-
初始化git仓库
git init//初始化空的git仓库于当前文件夹
-
设置自己信息供存取使用
git config --global user.email "295501139@qq.com"//设置邮箱 git config --global user.name "zhangxuan"//设置姓名
-
将代码存入暂存区
git add main.c//将main.c存入暂存区 git reset HEAD main.c//将main.c从暂存区撤销
-
将暂存区的代码存入本地仓库
git commit -m '第一个版本定义主函数(此处写修改的东西)'
-
查看仓库状态
git status
-
查看本地仓库的版本提交日志
git log
-
回退版本
git reset --hard HEAD^^//^的个数为回退版本的次数
-
将版本挪回去
git reflog//查看对仓库做的操作
git reset --hard aefc5a8//将版本挪到aefc5a8
-
查看自己的代码与本地仓库的最新代码的区别
git diff
- 其中+为新增的代码
- 其中-为删掉的代码
-
放弃修改的代码,即将代码还原
git checkout main.c
-
删除本地仓库的文件
git rm add.c//虽然删除了,但是历史版本还是存在
git分支的操作
通过HEAD来区分在哪个分支
-
查看分支
git branch
-
创建分支dev
git branch dev
-
切换分支dev
git checkout dev
-
删除分支
git branch -d dev
-
合并分支
git merge 另一个分支名 //可能产生冲突,需要手动修改
-
暂时保存现场和恢复线程去处理另一个分支
git stash//保存现场 git stasg list//列出保存的现场信息 git stash pop 'stash@{0}'//恢复0号保存的信息
远程仓库
-
生成通讯密钥,生成的文件存在home文件夹下
ssh-keygen -t rsa -C "295501139@qq.com"
-
ls -a查找.ssh文件
-
cd .ssh
-
测试与gitee是否连接
ssh -T git@gitee.com
-
克隆项目
git clone git@gitee.com:zhang---xuan/test.git//后面的信息为gitee注册的信息
-
提交代码
1.提交代码到本地仓库 2.提交代码到远程仓库 git push origin 分支名//默认主分支
-
拉取服务端代码
git pull origin 分支名//默认主分支