本文主要是介绍[JD_Magi]git学习笔记,希望对大家解决编程问题提供一定的参考价值,需要的开发者们随着小编来一起学习吧!
git学习笔记
1、什么是git
版本控制工具(版本迭代、版本管理器)
2、有什么用
- 实现跨区域多人协同开发
- 追踪和记载一个或多个文件的历史记录
- 组织和保护你的源代码和文档
- 并行开发,提高开发效率
- 跟踪记录整个软件开发的过程
- 减轻开发人员的负担,节省时间,同时降低人为错误
3、版本控制
-
本地版本控制
记录文件每次更新,可以对每个版本做一个快照,或者记录补丁文件,适合个人使用
-
集中版本控制(SVN)(服务器掉了就会丢失)
所有版本的数据保存在服务器上,协同开发者从服务器上同步更新或上传自己的修改
-
分布式版本控制(Git)(每个用户保存的都是所有版本数据)
每个人都拥有全部代码
可以离线在本地提交,只需联网时push到相应的服务器或者其它用户那里
Git目前是世界上最先进的分布式版本控制系统
4、安装git
官网下载一般比较慢,所以一般可以去国内的镜像网站下载
下载地址:https://mirrors.huaweicloud.com/git-for-windows/
安装步骤:选择安装路径后一路next即可
5、Git基本理论
Git本地有三个工作区域:工作目录(Working Directory)、暂存区(Stage/Index)、资源库(Repository或Git Directory)。如果加上远程的git仓库(Remote Directory) 就可以分为四个工作区域。文件在四个区域的转换关系如下:
6、Git项目搭建
先设置用户名和邮箱
git config --global user.name 用户名#配置用户名
git config --global user.email 邮箱#配置邮箱git config -l #查看配置
需要掌握的命令
-
本地仓库搭建
#在当前目录新建一个Git代码库 git init #生成.git文件(隐藏文件)
-
克隆远程仓库
git clone https://gitee.com/用户个性地址/xxx.git#将远程仓库克隆到本地
7、Git文件操作
文件的四种状态
- Untracked:未跟踪,此文件在文件夹中,但没有加入到git库。不参与版本控制。通过git add 状态变为Staged
- Unmodify:文件已经入库,未修改,即版本库中的文件块中内容与文件夹中完全一致。这种类型的文件有两种去处,如果被修改而变为Modifiled。如果使用git rm移出版本库,则成为Untracked文件
- Modifiled:文件已修改,仅仅是修改,并没有进行其他操作,这个文件也有两个去除,通过git add 可进入Staged状态。使用git checkout 则丢弃修改过,返回到unmodify状态,这个git checkout即从库中取出文件,覆盖当前修改
- Staged:暂存状态。执行git commit 则将修改同步到库中,这时库中的文件和本地文件又变为一致,文件为Unmodify。执行git reset HEAD filename取消暂存,文件状态为Modified
查看文件状态
git status [文件名] #查看指定文件的状态
git status # 查看所有文件的状态#常用操作
git add . #将当前目录所有文件添加到git暂存区
git commit -m "my first commit" #提交并备注提交信息
git push origin master #将本地提交推送到远程仓库
忽略提交的文件
在主目录建立一个".gitignore"文件
规则:
- 以#为注释
- 可以使用linux通配符
- !文件名:表示这个为例外不被忽略
- /:路径分割符
- xxx/:往下忽略,即xxx后面的都忽略
- /xxx:往上忽略,即xxx前面的都忽略
8、使用码云
-
注册
-
设置本机绑定SSH公钥,实现免密码登录
ssh-keygen -t rsa# 生成两个文件在.ssh 一个公钥一个私钥 然后去gitee添加就可以了
-
创建仓库
9、集成IDEA
- 方法一:在初始化的git仓库创建同名项目
- 方法二:创建项目把**.git**文件复制到项目里
- 使用:可以直接在控制台使用命令
10、Git分支(多人协作)
常用命令
git branch #查看本地分支git branch -r #查看远程分支git branch -a #查看所属分支git branch 分支名 #创建新分支git checkout 分支名 #切换分支git checkout -b 分支名 #创建并切换到该分支git merge 分支名 #合并分支(合并分支之前需要切换到master分支上)git branch -d 分支名 #删除分支git push origin --delete 分支名 #删除远程仓库的分支
这篇关于[JD_Magi]git学习笔记的文章就介绍到这儿,希望我们推荐的文章对编程师们有所帮助!