git相关操作及命令

1.基本概念:

1.1git的代码托管方式

(上面是服务器端,下面是本地的),本地也保存以往的版本
在这里插入图片描述

1.2svn的代码托管方式

其中本地只保存最新的版本
在这里插入图片描述

1.3四个工作区:

在这里插入图片描述
工作区:平时存放项目代码的地方
暂存区:临时存放改动的代码文件,并保存即将提交到文件表的信息
仓库区:安全存放数据的位置,有提交到所有版本的数据,HEAD指的是最新放入仓库的版本
远程仓库:托管代码的服务器

1.4文件的四种状态:

untracked:未跟踪,此文件在文件夹中,并没有加入到git库中。
unmodify:文件已经入库,但是没有修改。使用git rm移出版本库,变为untracked。
modified:文件除了被修改之外没有进行其他操作。使用git checkout放弃修改,变为unmodify状态。
staged:暂存状态,使用git reset HEAD filename 取消暂存,文件变为modified状态。

1.5分支结构:

提交到库里面的文件是不同的版本,可以产生分支,HEAD指向的是当前版本的信息。
在这里插入图片描述

2.有关git 的操作

2.1本地的git操作

基本操作:
(1)使用git init 命令将一个空目录变为一个可以通过git管理的仓库
(2)第一次使用git命令提交代码,需要设置用户名以及邮箱:
git config --global user.email “you@qq.com”
git config --global user.name “your name”
(3)使用git add filename 将文件添加到暂存区,文件就会变为staged状态
(4)使用git status 查看仓库状态
(5)使用git commit -m “版本描述信息” 提交版本到仓库
在这里插入图片描述
(6)使用git log 查看提交的历史记录
在这里插入图片描述
在这里插入图片描述

在这里插入图片描述
(7)使用git resrt --hard HEAD^ 回退版本到上一个版本
(8)使用git reflog查看对仓库的操作日志
在这里插入图片描述
补充:
(9) 使用git diff HEAD 比较当前内容与最后一次提交版本的差异
(10)使用git checkout filename 放弃对工作区代码的修改,就会从modify状态回到unmodify状态
(11)使用git reset HEAD filename 从暂存区撤销,文件就会变为modify状态
(12)使用git rm filename 删除一个文件,如果此时只是提交到暂存区,需要cmmit后才在版本库中删除

分支操作:
(1)查看分支:git branch
(2)创建分支:git branch 分支名称
(3)切换分支:git checkout 分支名称
在这里插入图片描述
合并分支如下:
(4)切换分支:git checkout 分支名
(5)合并某个分支到当前分支:git merge 分支名
在这里插入图片描述上述截图显示无法合并的原因在于:主分支的代码已经删除了部分,但是dev分枝的代码中仍保留删除的那部分代码,因此git比较疑惑已经删除的恶那部分代码到底是删除还是保留:因此,此时打开Main.c程序显示如下:在这里插入图片描述
修改之后提交再次合并:
在这里插入图片描述
创建分支并删除分支:
(6)创建并切换到该分支:git checkout -b 分支名称
(7)删除分支,不能删除当前所处分支,切换到其他分支再删除:git branch -d 分支名称

在这里插入图片描述

2.2本地版本仓库和服务器端版本仓库的交互操作

注册工作:
首先需要注册“码云”,然后再linux终端执行下面操作:
输入第一行(ssh -keygen -t rsa -C “you@qq.com”)之后,会生成通信密钥,这个密钥在home/stu/.ssh/下
然后按一次回车
再输入两次密码
如下图所示:
在这里插入图片描述
到.ssh目录下
输入:cat id_rsa.pub命令得到ssh-rsa……
在这里插入图片描述

将终端里面得到的ssh-rsa …………
复制到公钥里面(前提是删除之前的公钥),然后点击确定。
在这里插入图片描述

从服务端下载代码到本地:
(1)克隆项目:git clone 项目地址
在这里插入图片描述

从本地上传到服务器:
在这里插入图片描述
(2)拉取远程服务器上的分支更新到本地:git pull origin 分支名
在这里插入图片描述
(3)提交分支到远程仓库:git push origin 分支名
(4)提交分支到远程仓库,并跟踪分支:git push -u origin 分支名
在这里插入图片描述

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包

打赏作者

仟各

你的鼓励将是我创作的最大动力

¥1 ¥2 ¥4 ¥6 ¥10 ¥20
扫码支付:¥1
获取中
扫码支付

您的余额不足,请更换扫码支付或充值

打赏作者

实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值