Git学习笔记

Git

参考学习的网站:

1.Git教程 - 廖雪峰

2.Git使用教程–知乎

Git:分布式版本控制系统

精要

  1. 提交到本地仓库操作:先add再commit
  2. 查看修改未提交情况:git status
  3. 查看精简提交日志:git log --pretty=oneline
  4. 从远程库克隆:git clone [https/ssh]
  5. 从远程库更新:git pull
  6. 从本地推送分支:git push origin branch-name

本地仓库

初始化 git init
psd 显示当前目录
git init 将该目录变为git所管理的创库
会产生一个.git文件,用来跟踪管理版本

在这里插入图片描述

提交暂存区(git add)、提交本地仓库(git commit)、查看状态(git status)
1.通过git add将版本库目录下的image文件添加到暂存区:
git add image

2.通过git commit再将文件提交给仓库,并添加注释:
git commit -m "增加image文件夹"

3.本地文件有更新后,通过git status查看是否还有文件未提交:
git status

如图显示Untracked files,说明image/2 add.png文件未提交,需要再次执行前两步

在这里插入图片描述

查看未提交的修改内容(git diff)、查看提交日志(git log)
1.当文件修改且未提交时,通过git diff查看修改内容:
git diff gitNote.md
如下图,红色行删除内容,绿色行为增加的内容;

2.通过git log从近到远显示日志,通过--pretty=oneline精简地演示:
git log --pretty=oneline

在这里插入图片描述

在这里插入图片描述

回退版本(git reset)、获得版本号(git reflog)、还原版本
1.回退到上一个版本:
git reset --hard HEAD^

2.回退上上个版本:
git reset --hard HEAD^^

3.获得版本号:
git reflog

4.恢复删除的版本:
git reset --hard 版本号

在这里插入图片描述

撤销修改 (git checkout – 文件名)

情景:未提交前,发现更改的内容有误,需要恢复以前的版本

(1)方式一:手动在文件内修改,再通过add和commit重新提交一次;

(2)方式二:通过reset恢复到上一个版本;

(3)方式三:直接使用撤销命令:git checkout – file,丢弃工作区的修改。

查看未提交的文件,显示gitNote.md被更改:
git status 

把gitNote.md文件再工作区做的修改全部撤销,撤销前之前未放入暂存区,退回到版本库中的状态,不用再次提交:
git checkout -- gitNote.md

在这里插入图片描述

删除文件(rm 文件名)、恢复删除的文件
1.可以直接在目录文件中手动删除,但不会删除版本库中的

2.想彻底删除包括版本库中的,可以先提交再通过rm删除:
rm gitNote.md

3.恢复文件:
git checkout -- gitNote.md

远程仓库

常用的远程仓库:github、gitte,操作基本一致;

与远程仓库关联支持多种协议,可以使用https网址,也可以使用SSH;

如何使用SSH在廖雪峰教程里有介绍,这里直接在仓库code选项复制https进行关联,缺点是速度慢,推送需要输入口令。

关联远程仓库(git remote add origin 网址/SSH)
1.在github上创建仓库,在绿色按钮code下复制https,在git上关联远程仓库:
git remote add origin https://github.com/Kirin-1024/gitStudy.git

2.git默认远程仓库名字:origin
将本地库内容推送到远程库(git push 分支名字)
1.第一次将当前master分支推送到远程:
git push -u origin master

2.-u参数 将本地的master分支与远程的master分支关联,以后推送可省略;

3.注意如果远程显示主分支是main,需要在github上删掉该分支并切换为master分支
删除本地与远程库绑定关系(git remote rm origin)
1.首先查看远程库信息:
git remote -v

2.根据名字删除:
git remote rm origin

注:仅删除绑定关系,真正删除远程库需要在github上进行
从远程库克隆 git clone 仓库地址[https/ssh]

分支管理

git中的主分支:master分支;

HEAD指向当前分支,master分支指向提交

创建、切换、查看分支
1.切换到dev分支:
git checkout dev

2.创建dev分支:
git branch dev

3.通过-b参数创建切换到dev分支:
git checkout -b dev

4.查看分支:
git branch

注:版本回退是:
git checkout -- 文件名

在这里插入图片描述

合并分支 git merge
1.在dev分支下修改gitNote.md文件,之后同样需要add和commit,它添加到了dev分支,不会出现在master分支;

2.切换到master分支:
git checkout master

3.再将合并dev分支上内容合并到master上:
git merge dev

4.注意当dev和master分支对同一个文件都做了提交修改时,会发生合并冲突,需要先手动解决冲突,再提交合并

在这里插入图片描述

删除分支
合并分支完成后,我们不再需要dev了,可以删除分支:
git branch -d dev

在这里插入图片描述

解决冲突

多人协作

在开发中通常用到4个分支:

  1. master分支:主分支
  2. dev分支:开发分支
  3. bug分支:用于本地修改bug
  4. feature分支:用来解决冲突

后两个能用上的时候再学吧,先搞懂最基本的master分支推送修改与同步

1.从远程库clone,这时已经完成了本地与远程关联:
git clone https://github.com/Kirin-1024/gitStudy.git
2.如果远程存在dev分支,并想再dev分支上开发,需要创建origin的dev分支到本地:
git checkout -b dev origin/dev

当然,以目前学习情况,还做不到那么复杂的项目,直接在master这一个分支上修改就已经够了,不需要这句命令
3.在本地修改完成后提交到本地库:
git add gitNote.md
git commit -m "git笔记1.0"
4.时不时的把分支推送到远程库:
git push origin master

如果是推送dev分支:
git push origin dev
5.如果小伙伴的最新提交与自己的推送又冲突(git push origin dev失败),需要先把最新的提交从远程库的origin/master分支抓下来:
git pull

6.如果git pull失败,可能是没有指定本地dev分支与远程origin/dev分支链接,设置链接:
git branch --set-upstream-to=origin/dev dev

7.再次git pull,成功后在本地手动解决冲突,解决完后再次提交,执行步骤3和4
  • 0
    点赞
  • 2
    收藏
    觉得还不错? 一键收藏
  • 1
    评论

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

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

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值