基本概念
一
-
Repository 仓库
-
Star 收藏项目
-
Fork 复制仓库,独立存在
-
Pull Request:发起请求 fork的仓库,修改之后,pull request给原来的账号的仓库,如果有感觉不错可以合并到原仓库中
-
Watch 关注 关注后的仓库,当仓库发生改变时,可以在主页上看到
-
Issue 事务卡片 可用来讨论代码bug
二
-
GitHub主页
左侧显示动态,右侧自己的信息
-
仓库主页
项目代码,版本,收藏关注fork
-
个人主页
创建项目/仓库
![[外链图片转存失败,源站可能有防盗链机制,建议将图片保存下来直接上传(img-yAuMPwKr-1611297269597)(C:\Users\hello\AppData\Roaming\Typora\typora-user-images\image-20201104210540508.png)]](https://i-blog.csdnimg.cn/blog_migrate/de530dcd07406e6c6cf08acb4fff2a60.png)
Git
版本控制
版本迭代
多人开发必须使用版本控制工具
- Git
- SVN
-
本地版本控制
-
集中版本控制
所有的数据都存在服务器上,用户如果不联网的话,就看不到历史版本
例如:SVN
- 分布式版本控制
Git 最先进的版本控制工具,有linux之父 李纳斯托维斯(芬兰人)仅耗费两周的时间开发
每个人都拥有全部的代码,没有中央服务器
不会因为服务器损毁或者网络问题,造成无法工作的情况
安装
-
通过镜像地址下载
http://npm.taobao.org/mirrors/git-for-windows/ -
先卸载
#1.清理环境变量 #2. Git Bash:与linux风格类似的命令行 Git CMD:windows风格的命令行 Git GUI :图形化界面
基本linux的命令
在对应的文件夹里直接右键可以打开GIt bash
pwd
ls (ll)
clear
touch 新建文件
rm 删除文件
mkdir
rm -r 递归删除
mv
reset
history 历史命令
exit
-
git配置
# git config -l #系统配置 与git/etc/gitconfig 文件下内容一致 git config --system --list #查看当前用户的配置 与C:\Users\hello文件下内容一致 git config --global --list #手动配置用户名 git config --global user.name "cwb" #配置邮箱 git config --global user.email 1518574228@qq.com
Git工作原理
环境变量是为了任何地方使用而已,因为可以右键使用,配不配都可以
![[外链图片转存失败,源站可能有防盗链机制,建议将图片保存下来直接上传(img-jujL4yz3-1611297269613)(C:\Users\hello\AppData\Roaming\Typora\typora-user-images\image-20201104224201840.png)]](https://i-blog.csdnimg.cn/blog_migrate/16301a14d064b4b7c75edcecd17afa73.png)
搭建仓库
本地仓库搭建
# init 产生.git文件 在当前目录新建一个git代码库
git init
克隆远程仓库
# 克隆远程仓库(GitHub或者gitee)url为远程仓库地址
git clone url
文件操作
文件的四种状态
- Untracked 未跟踪 通过git add状态会变为staged
- Unmodify 文件已经入库未修改。如果被修改则变为Modified,如果被git rm移出版本库,则变为Untracked
- Modified 文件仅仅被修改,没有其他操作,此文件两个去处,一是git add 可进入暂存状态(Staged);或者git checkout丢弃修改返回UNmodify状态
- Staged 暂存状态 执行git commit则可以同步到库中,这是库中的文件和本地文件变为一致,文件为UNmodified状态,执行git reset head filename取消暂存,文件状态为modified
#创建本地库
git init
#查看文件状态
git status
#添加所有文件到暂存区
git add .
#再次查看文件状态
git status
#将暂存区的文件进行提交
git commit -m "消息内容"
#
git status
忽略文件
在主目录下建立“.gitignore”文件
#为注释
*.txt #忽略所有.txt结尾的文件
!lib.txt # 但lib.txt文件例外
/temp #忽略根目录下的temp,其他地方的不忽略
build/ #忽略build/目录下的所有文件
doc/*.txt #会忽略诸如 doc/b.txt 但不会忽略 doc/cwb/a.txt
码云免密登录
#生成公钥 rsa为加密算法 会产生一个.ssh的文件
ssh-keygen -t rsa
#将公钥信息添加到码云中
将.ssh下的id_rsa.pub文件内容粘贴到码云的公钥处
#使用码云创建自己的仓库
在gitee创建仓库
idea集成Git
# 在gitee上新建仓库
# clone远程仓库到本地
git clone https://gitee.com/hellocwb/blog.git
#然后将下载的文件剪贴到项目中,此时项目与远程仓库建立联系,出现下图中,文件变红,多了git工具
![[外链图片转存失败,源站可能有防盗链机制,建议将图片保存下来直接上传(img-oeliKf5O-1611297269615)(C:\Users\hello\AppData\Roaming\Typora\typora-user-images\image-20201105155954281.png)]](https://i-blog.csdnimg.cn/blog_migrate/ff3976a2f762a16c775d8e137fabf769.png)
红色的文件表示选中状态
上传过程
#1. 加入到暂存区
git add .
#2.在菜单栏,选中,commit或者
git commit -m "第一次提交"
#3.push到远程仓库
git push
git分支命令
#列出所有的本地分支
git branch
#列出所有的远程分支
git branch -r
#新建一个分支,但是仍停留在本分支
git branch [branch-name]
# 切换到指定分支,并更新工作区
$ git checkout [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]
注意:
-
新建的本地分支会自动同步到main分支中,并在提交中一同提交到远程仓库
-
新建的仓库,并且没有和远程仓库建立联系,如果和远程仓库建立联系,并成为其一个分支需要使用命令
git push --set-upstream origin blogwin[本地分支名] -
本地新建的文件,不管在哪个分支的状态下,只要是一个文件夹下,任何分支提交只要检测到文件夹变化,就会提交给自己的远程分支,不管此文件是哪个分支的工作状态下创建的,并且提交后只有自己对应的远程分支才有此文件。
#当本地与远程仓库不一致时,push时提示要先pull
git pull
使用git上的项目并在多个tag或分支之间切换
此项目为springboot项目
- 创建springboot项目,项目名最好与远程仓库保持一致
- 在项目的文件夹下 git clone 远程仓库的项目
- 将下载git文件替换原来的项目文件
![[外链图片转存失败,源站可能有防盗链机制,建议将图片保存下来直接上传(img-8nXpJZrF-1611297269618)(C:\Users\hello\AppData\Roaming\Typora\typora-user-images\image-20201204232153496.png)]](https://i-blog.csdnimg.cn/blog_migrate/6a294f7416607c1b8538d9a4db79951e.png)
- 使用git checkout -b web-2 web-2 创建一个本地分支 【后一个web-2代表远程仓库上的tag】
- idea的项目代码已经变为web-2
- 想要切换到web-1项目通过git命令切换分支即可
当然也可以在分支之间切换
![[外链图片转存失败,源站可能有防盗链机制,建议将图片保存下来直接上传(img-da48Cqgm-1611297269620)(C:\Users\hello\AppData\Roaming\Typora\typora-user-images\image-20201204234512484.png)]](https://i-blog.csdnimg.cn/blog_migrate/1d6af0516c202719d8b0772dbbaddd14.png)
使用命令
git checkout -b 本地分支名 origin/远程分支名
![[外链图片转存失败,源站可能有防盗链机制,建议将图片保存下来直接上传(img-AdMJ2z5B-1611297269622)(C:\Users\hello\AppData\Roaming\Typora\typora-user-images\image-20201204234624989.png)]](https://i-blog.csdnimg.cn/blog_migrate/629a328326419af66c2b92313d7a1444.png)
此时idea已经是master分支下的文件
本文详细介绍了Git的基本概念和工作原理,包括仓库、星标、分支、合并请求等。讲解了如何在GitHub上创建、克隆和管理仓库,以及Git的常用命令如初始化、添加、提交和拉取。此外,还涵盖了Git的本地与远程分支操作,解决冲突以及码云的免密登录设置。最后,通过实例展示了在IDEA中集成Git进行多分支管理的方法。
2302

被折叠的 条评论
为什么被折叠?



