git学习笔记

1、介绍

版本控制:本地和远程都有版本控制、操作记录。

2、git与svn

git:具备离线工作能力,每个人的电脑都有一个远程仓库的分身,分布在每台电脑的版本控制(分布式),github做为中央仓库。

svn:每人只是拿到中央仓库的拷贝,本地没有仓库,必须要联网,一旦与中央仓库断连,无法控制版本。

3、使用

3.1 初始化

第一步 设置用户签名

加上 global防止每次更换文件夹都要重新定义name与email

C:\Users\Administrator中gitconfig文件查看设置内容

git config --global user.name "name"
git config --global user.email "邮箱格式"


第二步

git init 出现  .git文件(记录版本)后本文件夹初始化成功

3.2 工作机制

3.3添加暂存区

git add  文件名  单独文件添加到暂存区
git add  文件夹/ 单独文件夹 件添加到暂存区
git add . 或者  git add --all     所有文件添加到暂存区
git status   查看文件状态
文件状态为绿色表示在暂存区
git rm --cached 文件名   从暂存区删除
文件状态为红色表示文件只在工作区

3.4提交本地库(也叫历史区)

git commit -m "第一个功能完成"
此时暂存区清空
git log 查看提交历史 只能查看到head指针及之前的提交记录,无法查看之后的记录
注意:
如果输入git commit ,忘记备注,直接回车
会进入vim编辑器,此时要输入i,进入insert模式,
然后输入备注,完成后esc 然后:最后wq才能退出

3.5版本穿梭


git reset --hard HEAD^  回退到上一次提交版本  指针往前移动           回到工作区

git reset --hard HEAD^^  回退到上上一次提交版本
git reset --hard HEAD~2  回退到上上一次提交版本

git reflog 可以查看所有操作记录

 git reset --hard 0cdbfbe 回到具体的版本  后面为标识符(前7位)




git reset --soft HEAD^                   回到上一个版本,但是版本在暂存区中
作用:
1、可以进行提交注释的重写
2、bug修复(此时有两个功能,功能1开发完毕,功能2还没提交,但是发现功能1出了bug,先将功能一退到
暂存区,然后修复功能一代码,然后只提交功能一的代码到暂存区合并,然后提交仓库,这样仓库中只有一条记录)



git revert HEAD    回退上一个版本,但是新增一条提交记录,属于指针往后移动

实际开发最好使用git revert,这样的话在向gitee提交时候不会报错

3.6初识分支

尽量每个功能都是一个独立分支

 git branch  查看分支
git branch 分支名字  创建分支

 git checkout list  切换分支 每次切换前一定要将本次代码提交到本地库
开发完功能后 切换到master分支
 git merge list 合并到当前分支  相当于把head指向往前移动,指向最新
 git branch -d list  删除没用分支

3.7 分支合并冲突

3.8初识团队协作

利用远程仓库

git remote -v  查看远程地址
git remote remove origin  删除远程地址


git push origin master:master 下面为简写
git push origin master 将本地master推送到远程master
 git pull origin master 拉取远程master代码到本地
git push -u origin master 表示记录推送到远程master 以后就可以使用git push推送到远程master
并且使用git pull拉取远程代码

  

 首次推送需要输入账号密码,成功后凭据添加

 自己练习:远程修改文件,本地也修改相同文件,然后从远程pull拉取,模拟冲突。

解决:先到文件中解决冲突,然后提交到本地库,然后提交到远程,实现本地与远程同步。

注意:尽量不要修改远程仓库

3.8团队协作与冲突

git clone https://gitee.com/L-liumeng/liumengproject.git 从远程仓库拉取整个代码

正常提交,没有文件冲突的情况

有冲突情况(两人修改相同文件),后提交人向远程提交时会失败,需要先pull拉下代码,然后解决冲突,最后提交所有文件

3.9团队协作的分支

git push origin login:login  本地login分支向远程仓库提交login分支
git push origin login        (简写)

克隆只能克隆主分支master
要想从远程拉取其他分支需要
git pull origin login

切换并创建与远程关联的分支
git checkout login
基于当前分支继续开发
然后提交本地仓库,最后向远程login提交
add
commit
git push origin login

假如在远程创建了一个bugfixed分支
现在要删除bugfixed分支
git push origin :bugfixed 用本地空 覆盖

3.10git集成在vscode

首先要先安装git,然后再vscode中才能使用

gitignore文件:

  • 7
    点赞
  • 4
    收藏
    觉得还不错? 一键收藏
  • 2
    评论

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

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

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值