git学习笔记


GIT学习笔记

一.版本管理工具:每一次提交记录为一个版本

版本管理的发展:CVS -->SVN --> GIT

1.CVS阶段的弊端:每一次提交都会提交所有的文件,造成服务器压力—现已完全被淘汰。

2.SVN:每一次提交会和服务器进行对比,提交修改的文件.SVN至今仍然在使用(集中式),但只有一个服务器,在脱离网络的情况下,无法进行相关的操作。

3.GIT:分布式,每一个用户都会有服务器(本地的)—gitlab。GIT是一个分布式的版本控制系统,在Git中即使用户离线,也能进行项目的提交和更新操作(本地服务器),等到下次链接中央服务器是进行整体的同步操作。

二. Git Bash使用(命令行)

1.GIT本地操作

注册gitHub或者码云账号–远程仓库

2.如何将远程仓库和本地进行相关的联系:

第一种:将远程仓库克隆到本地。(先有远程仓库再有本地目录)。
第二种:将本地的开发目录变成远程仓库。

3.获取远程仓库的代码有各种格式:–重点

Clone with https:每次提交远程服务都需要用户名和密码–不常用
Clone with ssh:配置私钥(本地)和公钥(配置给github)

配置秘钥(私钥在本地):
要先配置个人用户信息和电子邮件 地址
git config --global user.name “用户名”
git config --global user.email “你的邮箱”
git config --list (查看所有的配置项)
然后输入如下命令:ssh-keygen -t rsa -C “你的邮箱” –
然后一直按回车到结束。生成ssh
在这里插入图片描述
然后就可以配置公钥了
cd ~/.ssh 进入.ssh目录
ls 显示目录内容
cat ~/.ssh/id_rsa.pub 查看文件内容并把输出的内容复制
然后进入github或者码云网站—点击右上角小图片—设置----左侧的菜单里的配置公钥复制进去就行了
在这里插入图片描述

git clone https地址或者ssh地址(第一次使用:无到有的使用一次)
git status 查看状态 --对比本地和本地服务器的区别
git add . 从工作区提交暂存区 git add . 提交所有改动的文件。
git commit -m “注释” 暂存区到本地服务器
如果仅仅是文件修改了,一次性到从工作区到本地服务器 git commit -am “提交的注释”
git push origin master 提交远程服务(origin:远程服务器名称 master:主分支)
git pull origin master 更新

3.创建分支

git branch 分支名称 — 创建分支
git checkout 分支名称 —切换分支
git branch —查看分支
git merge —分支合并

4.回滚代码

git log —查看提交日志显示不全,通过回车键显示所有的提交日志
q键退出
git reset --hard commit_id 退到/进到 指定
commit_id指随机的哈希值
git push origin head --force 强推到远程

5.协作

rm:
是仅仅删除working directory里的文件,但若需要删除staging area和HEAD上的文件,需要先执行git add,
然后执行git commit -m “delete xxx”;
或者直接执行一句 git commit -am “delete xxx” ,多加一个"-a"参数,这个参数的功能之一就是将working
directory里删除的文件从staging area中删除.

git rm:
相当于rm + git add, 即working directory和staging area中都删除了该文件
若想推到本地repository只需git commit -m "delete xxx"即可
若想推到远程repository只需git push

git rm --cached:
保留本地文件,仅仅删除staging area中的文件,停止跟踪该文件的变化

在commit的之后repository里也会删除该文件,不再跟踪

当我们需要删除暂存区或分支上的文件, 同时工作区也不需要这个文件了, 可以使用

git rm file_path

git commit -m ‘delete somefile’

6.git的常用命令

在这里插入图片描述

三.综合应用

1.git pull和git fetch的区别

git fetch相当于是从远程获取最新到本地,不会自动merge.
git pull 相当于是从远程获取最新版本并merge到本地.

2.git merge与 git rebase区别

git merge:将两个分支,合并提交为一个新提交,并且新提交有2个parent。
git rebase:会取消分支中的每个提交,并把他们临时存放,然后把当前分支更新到最新的origin分支,最后
再把所有提交应用到分支上。

四.本地仓库与远程仓库同步(将本地目录变成远程仓库)–重点

1、(先进入项目文件夹)通过命令 git init 把这个目录变成git可以管理的仓库

git init

2、把文件添加到版本库中,使用命令 git add .添加到暂存区里面去,不要忘记后面的小数点“.”,意为添加文件夹下的所有文件

git add .

3、用命令 git commit告诉Git,把文件提交到仓库。引号内为提交说明

git commit -m 'first commit'

4、关联到远程仓库

git remote add origin git@github.com:pengshaohua/login.git

5、获取远程仓库的内容与本地同步合并(如果远程库不为空必须做这一步,否则后面的提交会失败)

git pull --rebase origin master

6、把本地库的内容推送到远程,使用 git push命令,实际上是把当前分支master推送到远程。执行此命令后会要求输入用户名、密码,验证通过后即开始上传。

git push -u origin master
  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

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

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

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值