Git基础入门


Git概述

Git是一个分布式的版本控制系统,由Linus花费两周开发。

SVN是一个集中式版本控制系统


提示:以下是本篇文章正文内容,下面案例可供参考

一、主要操作

Git操作流程

在这里插入图片描述

撤销操作

①撤销对工作目录的修改,
如果本地工作目录没有 add 过,则则从history版本库拷贝一份
如果工作目录 add 过,则从暂存区中拷贝一份
git checkout -- 文件名

②撤销对暂存区的修改(),返回到最近一次 add 之前
git reset HEAD 文件名

③撤销读history仓库的修改
移动Head指针指向的结点
git checkout 分支名


抓取操作

git fetch

将远程主机的最新内容拉到本地,用户在检查了以后决定是否合并到工作本机分支中

git fetch <远程主机名>  :抓取全部
git fetch <远程主机名> <分支名> 

git pull

将远程主机的最新内容拉下来后直接合并,即:git pull = git fetch + git merge
这样可能会产生冲突,需要手动解决

git pull 抓取所有远程分支,与当前分支合并
git pull <远程主机名> <远程分支名>:<本地分支名>

二、分支管理

分支概述

Git每一次的修改提交后都会形成一个新的结点,以时间为主线把这些结点串起来的一条线就形成了一个分支

分支常用于多人协作、不同模块的开发,等到各个分支完成后再合并到主分支中

Git默认创建一个master的主分支

分支的基本操作

创建分支,并切换到新建分支
git checkout -b 分支名
或者 
git switch -c 分支名

创建分支
git branch 分支名

删除分支
git branch -d 分支名

合并分支:把指定分支合并到当前分支
git merge 分支名

查看分支
git branch

切换分支
git checkout 分支名
或者
git switch 分支名

合并冲突

当两个分支都修改了同一个地方,Git直接进行合并时,会发生冲突,Git用<<<<<<<,=======,>>>>>>>标记出不同分支的内容,需要手动修改冲突后才能合并

合并有冲突时,会将冲突的内容写入到你的文件中,你解决冲突就是改这个文件,然后 add commit ,这就完成了一次合并时冲突的解决过程

<<<<<<< HEAD
Creating a new branch is quick & simple.
=======
Creating a new branch is quick AND simple.
>>>>>>> feature1

禁止fast-forward merge

使用“快进式合并”(fast-forward merge)会直接将master分支指向要合并的分支,从而丢失分支的信息,也就是不能在分支历史上看出分支信息

可以在合并分支时禁止快进式合并

--no-ff   禁止快进式合并,使用普通模式进行合并
-m	合并时产生一个新的commit

git merge --no-ff -m 分支名

不使用快进式合并的合并结果
在这里插入图片描述

储藏 stash

当前分支的工作还没做完,没能commit,但是需要转到其他分支工作,可以使用Git 的储藏功能。(例如临时处理Bug)

Git的储藏功能可以在一个另外的空间将当前的工作现场保存,转去处理其他分支,等到处理完后再从储藏区中取出原来的工作现场,继续原来的工作。可以多次储藏

查看储藏区
git stash list

把当前工作环境储藏起来
git stash 

恢复的同时把stash内容
git stash pop

恢复但不删除stash 内容
 git stash apply

删除stash内容
git stash drop

复制一个特定的提交到当前分支

当两条分支存在相同的bug,而你修改了一条分支的bug,怎么修复另一条分支的bug
①切换到另一条分支,修改,提交
②复制一个特定的提交到当前分支

git cherry-pick <想要被复制的commit编号>

三、标签

给某次重要的提交起一个给人看的名字,与commit ID相绑定

创建
git tag [标签名]  //默认最新条的commit
git tag -a 标签名 -m 说明文字

删除本地
git tag -d 标签名
删除远程
git push 远程仓库名 :refs/tags/标签名

查看
git tag	//查看所有
git show 标签名

推送到远程仓库
git push orgin 标签名 
git push orgin --tags //推送所有标签名

四、常用命令

git 基础

在这里插入图片描述

git diff

在这里插入图片描述

git reset

在这里插入图片描述

git config

在这里插入图片描述

git log

在这里插入图片描述


查看远程库的信息
git remote [-v 更详细]

五、其他问题

Git 使用策略

设置提交忽略文件

github和gitee

Git gui

SourceTree

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

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

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

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值