Git
Git 简介
Git是一个开源的分布式版本控制系统,可以有效、高速地处理从很小到非常大的项目版本管理。 [1] 也是[Linus Torvalds](https://baike.baidu.com/item/Linus Torvalds/9336769)为了帮助管理Linux内核开发而开发的一个开放源码的版本控制软件。
Git的下载和安装
一、下载
- 下载官网:https://git-scm.com/download
二、安装
- 傻瓜式安装:一路下一步。安装完成后在电脑桌面右击显示
- Git GUI Here:图形界面工具
- Git Bash Here:命令行工具
Git的基本配置
一、打开cmd命令窗口,进行全局设置
1、设置全局用户名和邮箱(管理员权限下)
git config --global user.name "your name"
git config --global user.email "your email"
2、查看配置信息
git config --list
本地仓库的相关操作
一、在本地初始化一个Git仓库
1、在电脑的任意位置创建一个空目录
2、进入这个目录中,点击右键打开Git bash窗口
3、执行命令
git init
二、查看文件状态
git status
三、将文件添加(修改)版本库
1、创建一个文件、将其添加到暂存区,然后才能到仓库中
2、添加单个文件到暂存区
git add readme.txt
3、将当前目录下所有修改添加到暂存区,除按照规则忽略的之外
git add .
- 如果要将文件再次放入暂存区,该文件必须相对之前的版本要有改变才能放进去。
- 修改文件内容
4、将暂存区中的文件,提交到仓库中
- 如果暂存区有文件,则将其中的文件提交到仓库
- 带评论提交,用于说明提交内容、变更、作用等
git commit -m 'your comments'
5、查看提交历史记录
- 查看自己做过的提交,或者需要寻找某个具体的提交来查看当时的代码
- 显示所有提交的历史记录
git log
- 单行显示提交历史记录的内容
git log --pretty=oneline
四、回退版本
1、查看版本的提交id
git reflog
2、回退到 commit_id 指定的提交版本
git reset --hard 'commit_id'
五、删除文件
git rm
- 注意: git rm 只能删除已经提交到版本库中的文件。其他状态的文件直接用这个命令操作是出错的。
六、忽略文件
- 一般在工作区中,并不是所有文件都需要纳入版本控制的。
- 这种不需要进行版本控制的通常都是些自动生成的文件。
- 比如:idea工程文件(springmvc.iml)、编译后 文件target、系统上传的图片img。
- 在.git同目录下,运行touch .gitignore
分支
一、查看分支
1、查看本地分支
git branch # 查看相对详细的本地分支信息
git branch -v
2、查看包括远程仓库在内的分支信息
git branch -av
二、创建分支
1、新建一个名称为 mary 的分支
git branch mary
三、切换分支
1、新建完 mary 分支以后,通过该命令切换到 mary 分支
git checkout mary
- 注意
- 当我们创建完分支以后,我们需要切换到新建的分支,否则,所有的修改,还是在原来的分支上。
- 事实上,所有的改动,只能影响到当前所在的分支。
四、创建并切换分支
1、新建 tom 分支,并切换到该分支上
git checkout -b tom
五、合并分支
1、切换回 master 分支
git checkout master
2、将 tom 分支中的修改合并回 master 分支
git merge tom
- 注意:
- 分支修改文件中如果有换行的话会报错
六、删除分支
1、删除 mary 分支
git branch -d mary
远程仓库
一、注册账号
1、官网:https://gitee.com/
二、创建仓库
1、第一次创建
2、第n次创建
三、同步远程仓库
gitee支持“https”和“ssh”等方式。如果使用https很简单基本不需要配置就可以使用,但是每次提交代码和下载代码时都需要输入用户名和密码。而且如果是公司配置的私有git服务器一般不提供 https方式访问,所以我们要来着重演示“ssh”方式。
1、ssh配置,生成密钥
ssh-keygen -t rsa
2、执行命令完成后,在window本地用户.ssh目录C:\Users\用户名.ssh下面生成如下名称的公钥和私钥
3、配置
4、将远程仓库克隆到本地
git clone 地址
- 注意:警告的含义是克隆了一个空的仓库
5、查看远程仓库
- 查看配置好的远程仓库服务器,可运行 git remove 命令。
- 该命令会列出 指定的每一个远程仓库服务器的简写
- 若已克隆远程仓库,那至少应该看到 origin,这是 Git 克隆仓库服务器的默认名字
git remote -v
6、若有一个本地仓库,要发布到远程仓库
- 为本地仓库添加远程仓库
- 将本地仓库和远程仓库连接起来
- 注意:远程仓库必须存在
git remote add origin your_remote_git_repo
7、推送本地内容到远程仓库
- 本地仓库中,代码完成提交,就需推送到远程仓库,其他开发人员可从远程仓库同步内容
(1)将本地 master 分支推送到 origin 远程分支
git push -u origin master
git push origin master
(2)注意
git push -u origin master
- git push -u origin master,第一次使用时,带上 -u 参数,在将本地的master分支 推送到远程新的 master分支的同时,还会把本地的master分支和远程的master分支关联起来
(3)推送前,需要 pull 远程仓库
- 如果发现提交版本不一致,出现错误
(4)在文件夹中在创建一个文件,并放入暂存区进行提交,推送到远程
8、从远程仓库获取最新内容
- 多人协作中,当自己完成本地仓库中的提交,向远程仓库推送前,需要先获取到远程仓库的最新内容。
git fetch origin master
#或者
git pull origin master
- git fetch :是仅仅获取远程仓库的更新内容,并不会自动做合并。
- git pull:在获取远程仓库的内容后,会自动做合并
- 可以看成git fetch之后git merge。
9、移除无效的远程仓库
git remote rm <shortname>
- 注意:此命令只是从本地移除远程仓库的记录,并不会真正影响到远程仓库
IDEA的Git操作
1、在GitHub/码云中创建远程仓库
2、将模块交给Git管理
- 若上图失败,去配置如下内容
3、配置忽略文件
4、先放到暂存区,再提交到本地仓库
- 暂存区:add
- 提交:commit
5、以白色为背景的git管理不同颜色的表示
(1)红色
- 新创建的文件
(2)绿色
- 暂存区中的文件
(3)黑色
- 本地仓中的文件
(4)蓝色
- 已经提交到本地仓中的文件发生了内容的改变
6、推送到远程仓库
- 第一步
- 第二步
7、本地仓库常见操作
(1)新建文件
(2)存入暂存区
(3)提交文件
(4)修改文件
(5)与最新版本做对比,解决冲突
(6)确定没有冲突后,再次提交
(7)从远程仓库克隆(只能克隆代码,项目的相关配置还是需要自行配置)
- 第一步
- 第二步
- clone好的工程,需要进行相关配置
8、创建分支
- idea 打开分支
(1)创建分支
(2)切换分支执行操作
(3)合并分支(先切换到master分支)
9、查看提交历史
- 第一步
- 第二步