文章目录
git简介
git与svn的区别
- git是目前最先进的分布式版本控制器
- svn是集中式版本控制器
注:控制面板–系统与安全–高级系统设置–环境变量
git的类型
- GitHub
创建远程库
代码推送 push
代码拉取 pull
代码克隆 clone
ssh免密登录
idea集成github - Gitee码云
码云创建远程库
idea集成Gitee码云
码云连接GitHub进行代码的复制和迁移 - GitLab
GitLab服务器的搭建和部署
Idea集成GitLab
Git工具
- git bash:unix与linux风格的命令行,使用最多,应用最多(clear)
- git cmd:windoes风格的命令(cls)
- git gui:图形界面的git,不建议初学者使用,尽量先熟悉命令
git工作机制
- workspace:工作区,就是平时存放项目代码(写代码)的地方 [git add]
- index /stage:暂存区,用于临时存放改动的文件,事实上他只是一个文件,保存即将提交的文件列表信息 [git commit]
- repository:仓库区(本地仓库),就是安全存放数据的位置,这里有你提交到所有版本的数据,其中HEAD指向最新放入仓库的版本(ref:cefs/heads/master:主分支)
- remote:远程仓库,托管代码的服务器,可以简单的认为是你项目组中的一台电脑用于远程数据交换 [push]
git的工作流程
☀️学知识,一定要多看官网哦!
💌给大家推荐一个免费的,巨详细的Git学习网站:猴子都能懂得Git入门
Git的安装
🐶为了鼓励大家多看官网,我在这就不一一介绍安装步骤啦
🙉git的安装路径最好不能含中文和空格
Git安装完成啦
初次使用Git的步骤
1、初始化本地仓库(在初始化的文件夹下面会添加一个.git的文件夹)
git init
2、设置用户名及邮箱(邮箱是虚拟邮箱,不会验证哦!)
- git config --global user.name “用户名” #设置用户名
git config --global user.name Zhulia
- git config --global user.email “邮箱” #设置邮箱
git config --global user.email Zhulia@qq.com
Git常用命令
git init #初始化文件
git clone [url] 链接
git status #查看本地库所有文件的状态(也可指定)
git add . #把所有文件添加到暂存区
git add [文件名] #把指定文件添加到暂存区
git commit -m "信息内容" 文件名 #提交暂存区中的内容到本地仓库(-m:提交信息)
git commit -m "first commit" hellow.txt
git reset --hard 版本号 #版本穿梭(回到指定版本)
git reflog #查看日志信息
git log #查看更详细的日志信息
Git文件提交图解
Git分支
分支的好处
- 同时并行推进多个功能开发,提高开发效率。
- 如果某个分支开发失败,不会对其他分支有任何影响,失败的分支删除重新开始即可。
代码操作
创建分支
git branch 分支名
查看分支
git branch -v (git branch:i本地分支 git branch -r:远程分支)
切换分支
git checkout 分支名
把指定的分支合并到当前分支上
git merge 分支名
$ git merge hot-fix
分支冲突如何解决
冲突原因:合并分支时,两个分支 在同一个文件的同一个位置有两套完全不同的修改,Git无法代替我们使用哪一个为新代码内容。
1、vim 冲突文件
删除冲突代码,决定代码去留
2、添加到暂存区
git add hellow.txt
3、提交(注意:此时使用git commit命令时不能带文件名)
git commit -m "描述信息"
跨团队协作图解
连接远程仓库代码总结
查看当前所有远程地址别名
git remote -v
起别名 (链接地址太长,记不住)
git remote add 别名 远程地址
$ git remote add git-demo https://github.com/julia-zjh/git-demo.git
推送本地分支上的内容到远程仓库
git push 别名 分支 (将本地代码推送到远程仓库)
$ git push git-demo master #把本地master分支的代码推送到远程仓库
将远程仓库对于分支最新内容拉下来后与当前本地分支直接合并
git pull 远程库地址别名 远程分支名
$ git pull git-demo master
将远程仓库的内容克隆到本地
git clone 远程地址
git clone https://github.com/julia-zjh/git-demo.git
跨团队协作
为了方便记忆,我再浅总结一下吧!💝
1、将别人的仓库fork库到自己的仓。
2、git clone +自己的仓库网页地址:克隆远程仓库到本地。
3、git remote -v :查看别名映射
4、git remote add origin2 xxx (xxx是你要添加的别人的网页地址):添加别名映射。
删除别名映射:git remote remove origin
5、git pull origin2 master:拉取别人仓库里的内容到本地
6、git add +文件名-将文件添加到缓存区。
7、git commit -m "xxx"(xxx是对本次提交的信息描述):将文件提交修改到仓库
8、git push origin master:将新添加的文件推送到自己远程仓库。
9、在远程仓库界面新建pull request :将文件提交到别人的远程仓库。
10、git log:显示从最近到最远的显示日志(近三次),查看历史记录(最新添加或修改日志内容)。
11、git reset --hard 77sdbbfjfs(版本号):恢复刚刚所删除的内容
12、git status:查看仓库状态。
13、git checkout -- file 可以丢弃工作区的修改(git checkout -- readme.txt)
14、删除文件:rm +文件名 (命令 git checkout -- b.txt)
15、查看分支:git branch
创建分支:git branch name
切换分支:git checkout name
创建+切换分支:git checkout –b name
合并某分支到当前分支:git merge name
删除分支:git branch –d name
16、git init 把当前的目录变成可以管理的git仓库,生成隐藏.git文件。
17、git reflog 查看历史记录的版本号id
git checkout -- XX 把XX文件在工作区的修改全部撤销。
git rm XX 删除XX文件
git remote add origin https://github.com/tugenhua0707/testgit 关联一个远程库
git push –u(第一次要用-u 以后不需要) origin master 把当前master分支推送到远程库。
18、git diff readm.txt:想知道上次是怎么修改readme.txt 文件的
19、git pull :更新文件夹内容
📣