git使用

git和svn的区别

在这里插入图片描述

常用命令

查看git版本号:git --version
在这里插入图片描述
设置用户签名
在这里插入图片描述
初始化本地仓库:git init,会在某一个目录下面初始化一个.git目录,用于管理当前git项目
在这里插入图片描述

所有的代码必须先提交到暂存区后,从暂存区中再次提交到master中才会被赋予历史版本号。
在这里插入图片描述
在这里插入图片描述

提交暂存区

通过git add 将文件提交到暂存区。git add 1.txt将该文件提交到暂存区,通过git status查看当前暂存区中的文件。文件为绿色代表在暂存区。
在这里插入图片描述
通过git rm --cache 1.txt将暂存区中的文件删除,删除后再次使用git status查看暂存区,发现如图红色,代表当前文件在工作区
在这里插入图片描述
git add --all将当前工作区所有的文件全部上传到暂存区。该语法等价于git add .git add -A如果一个目录下有多个文件,将这些文件全部上传到历史区后想修改某个文件再次提交,可以直接使用git add .提交全部代码,git会自动帮助里面识别哪些文件是修改的,只重新提交修改的代码

提交历史区

将暂存区的内容提交到历史区后才能查看到版本信息。必须在git add 命令之后使用git commit -m "注释说明",显示结果如图代表提交成功。之后就可以使用git log查看版本信息
在这里插入图片描述
在这里插入图片描述
在这里插入图片描述

历史版本选择

在上面的图中可以发现,每次提交到历史区都会有一个HEAD或master提示,这代表当前指向的历史版本,如果只有一个分支,那么这两个选项是保持同步的。HEAD或master类似指针指向,只需要修改当前的指向,就可以指定版本号实现回退效果,注意回退到之前的版本号,现有的版本并不是直接删除的。
在这里插入图片描述
添加四个记录,每一个记录都对于一个git操作,查看当前历史版本
在这里插入图片描述
如果想回退历史版本,使用如下命令

  • git reset --hard HEAD^:一个^回退上一个版本
  • git reset --hard HEAD^^:两个个^^回退上上个版本
  • git reset --hard HEAD~2:等价于两个^^,回退上上个版本
    如下操作回退到上一个版本,即从4回退到3,发现工作区的代码也会跟着变,同时暂存区会被清空。
    在这里插入图片描述
    在这里插入图片描述
    如果想在从当前版本恢复过去,即从3恢复到4该如何处理。首先可以使用git reflog查看当前的所有操作,该命令比git log输出的操作信息详细。git reflog命令类似可以查到当前所有操作对于的编号,该编号就是HEAD所指向的历史版本号。可以根据该编号实现选择版本号,注意只能选择6位。
    在这里插入图片描述
    git reset --hard 1e77653:找到4历史版本对应的编号并恢复到该版本。
    在这里插入图片描述
    将工作区的代码编写如下提交
    在这里插入图片描述
    在这里插入图片描述
    然后使用该命令:git reset --soft HEAD^也是回退到上一个版本,但是和git reset --hard HEAD^有什么区别?查看工作区的代码并没有发生改变。--soft是从历史区回退到暂存区,方便用于可以重修修改注释等,--head是直接从历史区跳到过暂存区直接到工作区
    在这里插入图片描述
    在这里插入图片描述

git分支

在这里插入图片描述
使用git branch可以查看当前已有分支和当前选择的分支
在这里插入图片描述
使用git branch 分支名即可创建新分支,但目前还是未选中该分支
在这里插入图片描述
使用git checkout 分支名实现切换分支
在这里插入图片描述
当前分支下新建一个目录,然后提交。提交后使用git checkout master查看文件效果。新分支和旧分支的内容是一模一样的,只不过新分支比旧分支多了自己的新功能。因此设计到分支合并的问题的时候实际是让旧分支往前移动到新分支的位置即可。
在这里插入图片描述
在这里插入图片描述
在这里插入图片描述
想实现master合并到新分支,首先必须切换到master分支进行操作。注意此时master分支中的文件还是旧的。
在这里插入图片描述
在这里插入图片描述
使用git merge 分支实现合并分支的效果,用于实现将旧分支(主要是master)合并到新分支的位置,同时拥有新分支的数据。使用git merge twobranch实现从master分支合并到twobranch分支。查看文件效果如下
在这里插入图片描述
在这里插入图片描述

在这里插入图片描述
这个时候就发现次分支就没有使用的必要了,就可以进行删除了,git branch -d 分支实现删除分支效果。d代表delete缩写
在这里插入图片描述

分支合并冲突

创建一个文件编写代码,并在master分支上提交
在这里插入图片描述
然后创建新分支并选中
在这里插入图片描述
在新分支中修改刚才的代码并提交,然后切换回master分支,正确情况该分支中的bug文件并无新分支的内容才正常。
在这里插入图片描述
在master分支中添加自己的新内容并提交
在这里插入图片描述
然后再当前master分支中合并到刚才的分支中,这个时候就会出现分支合并的错误失败提示,这里提示告知自动合并失败,因为新分支中有修改过改文件,旧分支中也有修改过改文件,这个时候就需要手动进行合并了。可以借助vscode打开该文件。
在这里插入图片描述
可以发现vscode的颜色也不同了,可以根据灰色字体提示选择如何合并分支
在这里插入图片描述

github上传

首先必须先创建一个仓库
在这里插入图片描述
创建完成后会跳转如下页面,使用git remote add命令添加远程仓库地址,其中origin是一个地址别名,代表后面的地址。可以随便起。
在这里插入图片描述
在这里插入图片描述
添加仓库地址后可以使用git remote -v查看当前地址情况
在这里插入图片描述
然后使用git push origin master命令开始推送,其中git push是固定的,origin代表别名地址,master代表将本地master分支推送到远程地址的master分支,属于简写形式。
在这里插入图片描述
如果是第一次推送会出现如下界面,然后点击授权方式即可。成功后出现如下界面
在这里插入图片描述
在这里插入图片描述
这个时候如果本地查看分支git branch -a则可以查看到远程仓库的分支
在这里插入图片描述

以下为练习,修改已经上传到github的代码,在本地工作区中修改并重新提交,如果在推送的时候使用了git push -u origin master其中-u代表设置当前推送为默认地址,以后每次推送的时候只需要使用git push即可,都会像默认地址推送。
在这里插入图片描述

假设在gihub中直接修改了代码,想同步到本地,就需要拉去github中的代码。使用git pull origin master命令,拉去github中master分支到本地master分支中,origin为别名地址,如果直接使用过-u,则可以省略后面的代码。拉去的代码默认会和本地的代码进行合并,因此注意合并冲突问题。 出现如图代表成功
在这里插入图片描述
只要合并代码出现如图就代表出现了冲突问题,需要手动解决
在这里插入图片描述
假设有两个人共同操作这个项目,另一个人先获取项目:使用git clone 项目地址直接获取服务器数据
在这里插入图片描述
在这里插入图片描述
在clone获取的文件中添加自己的代码xiao.txt,然后推送到github中。但是这个时候假设原来的人项目中是没有这个新推送的项目文件的,但是又修改了代码尝试推送,这个时候就会报错,提示告诉先用git pull获取代码,这是因为当前的项目落后于远程仓库的,建议先拉取最新的代码在进行修改。
在这里插入图片描述
在这里插入图片描述
在这里插入图片描述
如果是两个账号,则需要作者先将另一个人设置为成员
在这里插入图片描述

分支管理

将本地其他分支的代码推送到远程仓库的对应分支中。git push origin bugbranch会自动在远程仓库中创建对于的分支
在这里插入图片描述
在这里插入图片描述
在这里插入图片描述
然后其他成员如果想获取该分支的项目,就使用git pull origin bugbranch获取远程仓库该分支到本地。
在这里插入图片描述
获取远程仓库分支的时候查看分支,查看的是远程的分支,一旦使用命令创建对于分支就会自动和对于的远程仓库连接起来。
在这里插入图片描述
删除远程仓库的分支。假设远程仓库存在一个分支,但是不需要使用了bugfix,如何实现远程分支删除
在这里插入图片描述
首先切回本地主分支git checkout master,然后使用 git push origin :bugfix命令删除远程分支,:bugfix代表本地分支同步远程,这里本地分支没有,类似删除的意思,所以远程仓库的该分支也会被删除。
在这里插入图片描述
在这里插入图片描述
然后再讲本地的分支删除即可

vscode可视化工具

加号类似git add命令,√类似git commit命令
在这里插入图片描述

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

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

余额充值