1、Git介绍
开发中存在的麻烦
- 代码备份很重要
- 版本控制很重要
- 协同工作很重要
- 责任追溯很重要
2、Git和SVN对比
SVN是集中式版本控制系统,版本库是集中放在中央服务器的,而开发人员工作的时候,用的都是自己的电脑,
所以首先要从中央服务器下载最新的版本,然后开发,开发完后,需要把自己开发的代码提交到中央服务器。
服务器单点故障时:将会导致所有人员无法工作。
Git是开源分布式版本控制工具
分为两种类型的仓库:本地仓库和远程仓库。3、Git本地仓库
4、Git常用命令
- 创建工作目录,初始化本地git仓库:使用
git init
命令,在工作目录打开命令行 - 使用
git status
查看状态 - 使用
git add 文件名.文件格式
添加到暂存区 - 使用
git commit
,提交到本地历史仓库 -
5、历史版本切换
查看log日志
使用git reflog
: 可以查看所有分支的所有操作记录
使用git reset --hard 版本唯一索引值
:切换到对应版本6、分支管理
分支:由每次提交的代码,串成的一条时间线
使用分支意味着你可以把你的工作从开发主线上分离开来,以免影响开发主线7、分支的工作流程
8、分支管理操作
创建和切换
创建命令:git branch 分支名
切换命令:git checkout 分支名
查看文件命令:ls
查看分支列表:git branch
合并分支:git merge 分支名
删除分支:git branch -d 分支名
总结,不同分支之间的关系是平行的关系,不会互相影响9、远程仓库工作流程
10、远程仓库平台
1、创建远程仓库
2、生成ssh公钥步骤: 设置Git账户
- 生成SSH公钥
- 设置账户公钥
- 公钥测试
3、命令git config user.name
查看git账户git config user.email
查看git邮箱git config --global user.name "账户名"
设置全局账户名和邮箱git config --global user.email "邮箱"
cd ~/.ssh
查看是否生成过SSH公钥
ssh-keygen -t ed25519 -C "xxxxx@xxxxx.com"
注意:这里的 xxxxx@xxxxx.com 只是生成的 sshkey 的名称,并不约束或要求具体命名为某个邮箱。cat ~/.ssh/id_ed25519.pub
查看公钥ssh -T git@gitee.com
检查
若返回 Hi XXX! You’ve successfully authenticated, but Gitee.com does not provide shell access. 内容,则证明添加成功
11、推送到远程仓库
步骤
1.为远程仓库的URL(网址),自定义仓库名称
2.推送
命令git remote add 远程名称 远程仓库URL
直接使用http推送就行 输入账户名和密码
ssh推送会遇到22端口错误。git push -u 仓库名称 分支名
12、先有远程仓库,本地仓库为空
步骤:
- 将远程仓库的代码,克隆到本地仓库 克隆命令 :
git clone 仓库地址
- 创建新文件,添加并提交到本地仓库
- 推送至远程仓库
git push -u 仓库名称 分支名
- 项目拉取更新 : 拉取命令:
git pull 远程仓库名 分支名
13、代码冲突
推送时遇到冲突,远程仓库不允许推送
<<<<<<< 和 >>>>>>>中间的内容,就是冲突部分
1、修改冲突,保存,即可解决冲突。
2、重新add冲突文件并commit到本地仓库,重新push到远程14、IDEA中配置Git
1、在IDEA中配置git
2、创建本地仓库
在vcs里
3、选择模块上一级目录
4、15、IDEA中本地版本切换
1.
这样会丢失记录。
2.
这样会重新提交一次回退操作,不会丢失之前的版本
这样历史记录还保留提交记录。16、IDEA中分支管理
切换分支
合并分支
删除分支17、IDEA中对远程仓库进行操作
push
clone18、git 本地仓库用户作用域
git config
可以通过三个地方的三个文件设置git配置参数,分别代表三个不同的作用域:
「/etc/gitconfig
」:作用域:一台计算机(操作系统)上的所有用户,几乎不会使用,「优先度低于」–global;设置方法:git config --system
「~/.gitconfig
」:作用域:计算机中的某用户创建的所有项目,常用,「优先度低于」–local;设置方法:git config --global
「.git/config
」 :作用域:某一特定的版本库,不常用,「是最具体的,优先度最高」;设置方法:git config --local