Git一键入门 学习笔记总结

文章目录

  • 前言
  • 什么是版本控制
  • Git的各版本
  • 常见的linux命令
  • Git四个区域
      • Git分为四个区域
      • 四个区域有关的指令
      • Git的工作流程
  • Git项目的搭建
  • Git基本操作
      • 文件的四种状态
      • 基本操作
      • 使用场景
      • 版本穿梭
      • 分支有关的命令
      • 忽略文件
  • gitee和github

前言

使用github也有一段时间了,但是只是简单使用,知识不成体系。今天抽了点时间整理了一下,比较基础,希望能对你们有帮助~

本篇文章没有将怎么配置SSH免密登录,需要了解的小伙伴可以去查看别的资料~

另外,本文中的图片一部分来自b站狂神说Git教程,一部分来自尚硅谷Git教程(个人比较推荐尚硅谷),另外一部分来自本人日常总结。

什么是版本控制

多人协作工作的管理

本地版本控制

集中版本控制(SVN):所有的版本都存放在服务器上。

需要一个中央服务器,每个人要先从中央服务器获取最新版本,完成工作后再把自己的修改提交到中央服务器上。

需要联网才能工作。

分布式版本控制(Git):每个人拥有全部代码 (安全隐患) ,可以离线提交,联网时可以push到相应的服务器或者其他电脑。

Git的各版本

各版本之间的区别
Git一键入门 学习笔记总结_第1张图片

常见的linux命令

Git一键入门 学习笔记总结_第2张图片

Git四个区域

add到暂存区,commit到本地仓库,push到远程仓库

Git分为四个区域

工作区(workspace):

暂存区(stage/index):事实上只是一个文件

本地仓库(Repository):存放你提交的所有版本的数据,head指向提交的最新版本

远程仓库(Remote):托管代码的服务器(如github)

四个区域有关的指令

Git一键入门 学习笔记总结_第3张图片

Git的工作流程

  1. 在工作目录中添加、修改文件(.xml)
  2. 需要进行版本管理的文件提交到暂存区(git add.)
  3. 将暂存区的文件提交到Git仓库(git commit)
  4. 推送到远程(git push)

Git项目的搭建

创建本地仓库的方式:

  1. 创建全新的仓库 git init
  2. 克隆远程仓库 git clone [url]

git init 初始化 或者克隆别的项目到本地

Git基本操作

文件的四种状态

Git一键入门 学习笔记总结_第4张图片

四个命令,一个命令对应一种状态

基本操作

#初始化本地仓库
git init

#设置用户名和邮箱,此用户不一定是仓库所有者,而是本次提交更新者
#加上global代表系统用户级别,不加代表项目/仓库级别的,两者都有优先后者
git config --global user.name "myname"
git config --global user.email "myemail"
#查看配置
git config -l
#查看系统配置
git config --system --list
#查看全局配置
git config --global --list

#克隆远程仓库的项目
git clone remote_url

#绑定本地和远程仓库 后面是SSH
git remote add origin [remote_url]

#查看所有文件状态
git status

#添加所有文件到缓存区
git add .
#把文件从缓存区撤回
git rm --cached .

#提交缓存区内容到本地仓库 m表示提交时的信息
git commit -m "加了****"

#提交本地仓库到远程仓库 origin和master都是分支
git push (origin master)

从远程仓库里下载下来(clone),然后vscode打开做修改,就可以push上去

使用场景

团队间合作

第一个人创建本地仓库,push到远程库来同步;如果第二个人要使用,就要先clone下来进行修改,再push到远程仓库;

如果第二个人要在本地同步第二个人的修改,就要先pull;
Git一键入门 学习笔记总结_第5张图片

跨团队合作
Git一键入门 学习笔记总结_第6张图片

版本穿梭

指针HEAD指向当前版本

查看历史版本

#查看all提交记录
git log
#其他漂亮的方式
git log --pretty=oneline
git log --oneline
#方便查看版本切换的指针移动次数
#中有HEAD@{移动到当前版本需要多少步}
git reflog

进行版本穿梭

#利用索引值进行穿梭 (推荐)
#其中索引值是git reflog中,HEAD前面的一串字符
git reset --hard {索引值}

#使用^进行后退 一个^后退一步 且只能显示HEAD之前的历史版本
git reset --hard HEAD^

#使用~进行后退 后退i步
git reset --hard HEAD~i

index file暂存区,working tree工作区

#上面的参数都是--hard,现在说两个其他的

# --soft
仅在本地仓库移动HEAD指针

#--mixed
在本地库移动HEAD指针,且重置暂存区

#--hard
在本地库移动HEAD指针,且重置暂存区,重置工作区

分支有关的命令

#查看所有分支包括本地分支和远程分支
git branch -a
#查看远程分支
git branch -r

#创建分支
git branch branchname
#切换分支
git checkout branchname
#创建+切换
git checkout -b branchname

#将新分支推送至github
git push origin branchname

#删除本地分支
git branch -d branchname

#删除github远程分支
git push origin :branchname

git只上传某个文件夹

# add等操作的时候 后面加上 ./文件夹名就可以了

忽略文件

项目里并不是所有文件都要提交(前端的npm_modules不用打包)

添加.gitignore文件,添加要被忽略的文件

#忽略所有txt文件
*.txt
#除了lib.txt
!lib.txt
#
/temp
#忽略build目录下的所有文件
build/
#忽略doc目录下的所有txt文件,但不包括doc/server/arch.txt
doc/*.txt

gitee和github

除了这两个之外,有时候公司也会搭建自己的git平台(gitlab)

使用gitee

新建远程仓库并初始化,并把远程仓库克隆到本地,就可以进行代码管理

你可能感兴趣的:(git,git,github)