一、常用的git代码托管服务
Git中存在两种类型的仓库,即本地仓库和远程仓库。那么我们如何搭建Git远程仓库呢?我们可以借助互联网上提供的一些代码托管服务来实现,其中比较常用的有GitHub、码云、GitLab等
- gitHub ( 地址: https://github.com/),是一个面向开源及私有软件项目的托管平台,因为只支持Git 作为唯-的版本库格式进行托管,故名gitHub
- 码云(地址: https://gitee.com/),是国内的一个代码托管平台,由于服务器在国内,所以相比于GitHub,码云速度会更快
- GitLab (地址: https://about.gitlab.com/),是一个用于仓库管理系统的开源项目,使用Git作为代码管理工具,并在此基础上搭建起来的web服务
- BitBucket(地址: https://bitbucket,org/) ,是一家源代码托管网站,采用Mercurial和Git作为分布式版本控制系统,同时提供商业计划和免费账户
二、使用码云代码托管服务
1、进入码云官方网站进行注册和登录(略)
2、新建仓库:
配置仓库:
点击创建即创建完成。
3.查看生成远程仓库的地址,此地址可在开发软件中直接导入对应的此项目
点此可进行对仓库成员的新增操作:
三、git的常用命令
- Git 全局设置
- 当安装Git后首先要做的事情是设置用户名称和email地址,在自己的文件目录下空白处右击 -> 点击 git bash here
- 在出现的命令面板中输入以下命令:
- 设置用户信息
git config --global user.name"xxx" git config --global user.email “xxx@XXX”
- 若需要查看配置信息,可输入以下命令
git config --list
- 设置用户信息
- 注意:上面设置的user.name和user.email并不是我们在注册码云账号时使用的用户名和邮箱,此处可以任意设置。
- 获取 Git 仓库
获取远程仓库的两种方式:- 在本地初始化一个git仓库(不常用)
执行步骤:
1. 创建一个空文件夹作为我们的本地git仓库
2. 进入这个目录,右击打开git bash 窗口
3. 执行命令 git init
4. 如果在当前目录中看到.git文件夹(此文件为隐藏文件夹),这说明git仓库创建成功 - 从远程仓库克隆(常用)
- 复制码云上的地址
- 执行命令:git clone 上述中的地址
- 注意:不能在已存在仓库中执行此命令,即不能仓库套仓库
- 复制码云上的地址
- 在本地初始化一个git仓库(不常用)
- 工作区、暂存区、版本库 概念Git 工作区中文件的状态
版本库:前面看到的.git隐藏文件夹就是版本库,版本库中存储了很多配置信息、日志信息和文件版本信息等
工作区:包含.git文件夹的目录就是工作区,也称为工作目录,主要用于存放开发的代码
暂存区:.git文件夹中有很多文件,其中有一个index文件就是暂存区,也可以叫做stage。暂存区是一个临时保存修改文件的地方
区域切换过程:工作区--->添加选择的改变(git add 文件) --->暂存区 --->提交改变(git commit 文件) --->版本库
git工作区中文件的状态:
Git工作区中的文件存在两种状态:
-
untracked 未跟踪(未被纳入版本控制)
-
tracked 已跟踪(被纳入版本控制)
- Unmodified 未修改状态
- Modified 已修改状态
- staged 已暂存状态
注意: 这些文件的状态会随着我们执行Git的命令发生变化(查看文件中的状态 git status)
- 本地仓库操作
本地仓库常用命令如下:- git status 参看文件的状态
- git add 将文件的修改加入暂存区
- git reset 将暂存区的文件取消暂存或者是切换到指定版本
- git commit 将暂存区的文件提交到版本库中
- git log 查看日志
- git reset --hard 版本id 切换到指定版本
- 远程仓库操作
远程仓库常用命令如下:- git remote 查看远程仓库 (git remote -v)
- git remote add (origin) url 添加到远程仓库(需要先创建一个远程仓库,然后将本地的仓库克隆到远程)
- git clone url 从远程仓库克隆
- git pull [remot_name] [branch name] 从远程仓库拉取
- git push 推送到远程仓库
注:将一个文件推送到远程的过程:新建文件 -> git add 文件名 -> git commit -> git push origin(远程仓库名,一般都是origin) master(分支名)
git push 可能需要身份认证,若需推送到远程需要输入自己的身份信息
git pull 如果当前本地仓库不是从远程仓库克隆,而是本地创建的仓库,并且仓库中存在文件,此时再从远程仓库拉取文件的时候会报错(fatal: refusing to merge unrelated histories )解决此问题可以在git pull命令后加入参数--allow-unrelated-histories i 插入信息 :wq 退出
- 分支操作
同一个仓库可以有多个分支,各个分支相互独立,互不干扰
通过git init命令创建本地仓库时默认会创建一个master分支
关于分支的相关命令:- git branch 查看所有本地分支
- git branch -r 列出所有远程分支
- git branch -a 列出所有本地分支和远程分支
- git branch [name] 创建分支
- git checkout [name] 切换分支
- git push [shortName][name] 推送至远程分支(shortName也就是你的 本地仓库名称一般是(origin))
- git merge[name] 合并分支(先切换到需要操作的分支,在执行此命令,便会将其他分支的内容合并到此分支)
注意: 在合并分支时,若操作相同文件的相同行,可能会产生冲突。解决完冲突后可使用git add 和git commit再次进行提交。如果出现报错"fatal: cannot do a partial commit during merage" 可在提交时语句变为git commit 文件名 -i再次进行提交
- 标签操作
Git 中的标签,指的是某个分支某个特定时间点的状态。通过标签,可以很方便的切换到标记时的状态。- git tag 列出以有的标签
- git tag[name] 创建标签
- git push[shortName][name]将标签推送到远程仓库
- git check -b[branch][name] 检出标签
注意:检出标签会新建分支并自动签出到此分支