学习git笔记01

一、安装git

去官网下载(www.git-scm.com),然后直接安装就行

二、git的一些基本知识和基本命令(个人理解,错误请指正)

git工作流程  三棵树
在自己的工作目录修改或添加文件
将需要进行版本管理的文件,放在暂存区---------暂存区  index
将暂存区的文件提交到git仓库------------也叫head

新建文件夹,初始化git--------git init
将工作目录的文件,放到git仓库需要两步(将文件放入暂存区,将文件提交到git)------git  add 文件名字;git commit -m “说明”
将工作目录的全部文件,放到git仓库--------------------------------git commit -am “说明”

查看当前项目下的文件状态--git status   红色为没有放入暂存区,绿色为放入了暂存区

将暂存区的文件,恢复到工作目录(会覆盖当前工作的同名文件)----git  restore 文件名

撤销暂存区的更改,不会影响工作目录的文件-----git restore --staged 文件名

查看提交的日志,通过提交的id,可以找到提交的不同的版本---git  log

reset的三种用法(不写 默认--mixed)
1、移动head的指向,将其指向上一个快照
2、将head移动后指向的快照,回滚到暂存区域
git reset --mixed head~

1、移动head的指向,将其指向上一个快照
git reset --soft head~

1、移动head的指向,将其指向上一个快照
2、将head移动后指向的快照,回滚到暂存区域
3、将暂存区的文件还原到工作目录
git reset --hard head~


回滚指定id的快照-----git reset  id的前五位
回滚指定的文件----git reset 版本快照 文件名或者路径(此时head的指针不会改变)


比较暂存区和工作目录的文件---git diff(-代表暂存区,+代表工作目录)
比较两个仓库的历史快照---git diff  快照id  快照id
比较仓库和工作目录的快照----git diff  快照id(-代表仓库,+代表工作目录)
比较暂存区和仓库的快照----git diff --cached 快照id(-代表仓库,+代表暂存区)


将缓存区提交并更新最近的一次提交,不产生新的提交----git commit --amend(会进入一个编辑模式,可以编辑提交说明)
不进入编辑模式,直接提供说明,将缓存区提交并更新最近的一次提交-------------git commit --amend -m "说明的文字"

删除添加到暂存区的文件-------------git  rm  --cached 文件名
将工作目录和提交到缓存区的文件,重命名-----------git mv 旧文件名  新文件名

git实现分支,只是分配一个指针,指向一个快照,将这个指针删除了,快照还是存在的
创建分支----------git branch  分支(创建的分支,指向的是仓库最近的提交版本)
查看git日志,并且显示所有分支---------git  log --decorate
切换分支,也就是把head指针,指向创建的分支-----------git  checkout  分支名(切换分支后,会根据该分支指向的版本,还原缓存区和工作目录);git switch 分支名
切换已经删除的分支,指定一个快照id--------------------git  checkout -b 分支名 快照id
以图形化的形势显示日志--------git  log --decotate --oneline  --graph --all
查看所有分支,*号标识的就是当前分支---------------git branch

冲突:两个分支中存在文件名相同但是同一行内容不同的文件
解决冲突:git需要你来决定保留哪一个文件,去掉哪一个文件
合并分支到本分支--------git merge 分支名(合并有冲突,冲突的文件不会提交到缓存区,还在工作目录。需要手动提交到缓存区并提交到仓库)
合并存在冲突时,终止合并---------git merge --abort
删除已合并的分支--------------------------------git branch -d 分支名
删除未合并的分支-----------git branch -D 分支名


把远程仓库克隆到本地----------git clone 远程仓库地址(如果用的是ssh地址,需要本地生成密钥,在gitee点克隆会有生成密钥的提示步骤)
将本地仓推送到远程仓库---------git push
查看当前本地仓库关联的远程仓库名和地址-------git remote -v

本地仓库与远程仓库建立连接
1、本地和远程都要存在一个仓库
2、与远程仓库建立连接------git remote add  origin(远程仓库的别名,一般叫这个)  远程仓库的地址
3、推送本地分支并建立远程分支---------git push -u origin(远程仓库的别名,一般叫这个)   master:master(本地分支名称:远程分支名称,名字一样可以写成master)

拉去远程仓库到本地仓库,git会自动进行一次合并,如果有冲突就合并失败,需要手动解决冲突-------git pull 远程仓库别名  远程仓库名字:本地仓库名(git pull origin master:master)

将本分子变基到目标分支--------git rebase 目标分支名(会将本分支与目标分支,分叉的提交快照,添加到目标分支上,形成一条直线)


 

  • 14
    点赞
  • 12
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值