git 版本控制

版本控制

1 概述

现有许多版本控制工具 git ,svn ,cvs 等

  • git 是分布式的版本控制工具,即每个队员可以看到项目所有的代码,部分设备数据丢失不影响整个项目。
  • svn ,cvs 是集中式版本控制工具,队员只能获取更新的代码,所有的更新都在一个服务器上,有安全隐患。

安装好后会出现这两个工具,他们的区别只是使用命令不一样。

图片说明 这个里面写 Linux 命令

图片说明 这个里面写 windows 的 cmd 命令

1.1 git 四个工作区域

  • Workspace:就是原始代码存放的地方
  • Index / Stage:暂存区,用于临时存放你的改动,保存即将提交到文件列表的信息
  • Repository:仓库,里面存放你提交的所有版本数据,其中 HEAD 指向最新放入仓库的版本
  • Remote:远程仓库,如 gitHub ,gitee

图片说明

1.2 git 工作流程

  1. 写代码: coding
  2. 将更新文件放入暂存区: add
  3. 提交到 git 仓库: commit
  4. 上传到远程仓库: push

1.3 git 配置

//查看用户
git config user.name

//查看邮箱
git config user.email

//修改用户
//修改用户名,邮箱(这两个变量是用来告诉别人这是你)
git config --global user.name "new_name"
git config --global user.email "new_email"

2 上传操作

//初始化仓库 Repository
//本地仓库又叫版本库,用来记录操作痕迹。
git init 

//向本地仓库添加文件
//分两步,先 add 再 commit ,文件名要加后缀
// -m 的 m 是 message 的意思
// 添加所有文件到暂存区 git add . 
git add " file_name "
git commit -m " add file_name"

//添加多条时
git add " file_name_1 "
git add " file_name_2 "
...
git commit -m " add file_name_1 file_name_2 ..."

3 下载操作

//克隆到本地
//克隆得到的文件在本地仓库
git clone [url]

4 文件操作

4.1 文件状态

git 操作的文件共有四种状态

  • 未跟踪(untracked): 通过 add 可以变为 staged
  • 已修改(modifiled)
  • 已暂存(staged)
  • 已提交(commited)
//查看文件状态
git status [ file_name ]

//查看所有文件状态
git status 

4.2 忽略文件

有些文件我们不需要进行版本控制,比如说一些配置文件

.gitignore 为忽略配置文件

# 为注释
# 下面为一些例子
# /A 表示忽略 A 里的文件,但 A 里的文件夹里的文件不忽略
# B/ 表示忽略 B 下的所有
*.txt       #忽略所有 .txt 结尾的文件
!lib.txt    #除 lib.txt 外全部忽略
/temp        #仅忽略 temp 文件夹下的文件
build/        #忽略 build/ 目录下所有的文件
doc/*.txt    #忽略doc/下的所有 .txt 文件 

5 码云用 git

5.1 将本地项目传到码云

  1. 在码云上创建一个仓库
  2. 克隆到本地
  3. 将克隆下来的文件拷贝到本地项目文件夹里
  4. 执行 add 添加到暂存区
  5. 执行 commit 提交到本地仓库
  6. 执行 push 到远程仓库

图片说明

图片说明

可以在终端输入 add . 会添加所有文件到暂存区,可以选择提交

图片说明

然后输入提交备注,点击提交就会提交到本地本地仓库,然后还可以选择 push 到远程仓库

图片说明

6 git分支问题

分支是为了解决多版本问题,主分支:master,一般开发版本的:dev

//列出所有本地分支
git branch

//列出所有远程分支
git branch -r

//新建一个分支,但依然停留在当前分支
git branch [ branch_name ]

//新建一个分支,并切换到该分支
git checkout -b [ branch_name ]

//合并指定分支到当前分支
git merge [ branch_name ]

//删除分支
git branch -d [ branch_name ]

//删除远程分支
git push origin --delete [ branch_name ]
git branch -dr [ remote/branch ]
全部评论

相关推荐

点赞 收藏 评论
分享
牛客网
牛客企业服务