· 大部分操作在本地完成,不需要联网
· 完整性保证
· 尽可能添加数据而不是删除或修改数据
· 分支操作非常快捷流畅(快照的形式进行管理)
· 与 Linux 命令全面兼容
· 局域网络下
GitLab服务器
· 外网环境下
GitHub
码云
git init
形式
用户名:Tom
email地址:[email protected]
作用:区分不同开发人员的身份
辨析:这里设置的签名和登录远程库的账号密码没有任何的关系
命令:
项目级别/仓库级别:尽在当前的本地库有效
git config user.name sun
git config user.email [email protected]
系统用户级别:登录当前操作系统的用户范围
git config --global user.name sun_system
git config --global user.email [email protected]
优先级:就近原则,二者都有是采用项目级别的签名(不允许二者都没有)
git add [file name]
查看当前状态
将文件从暂存区移除(并不是删除文件)
git commit
上图要求我们输入提交的信息,相当于代码的注释(直接输入,下图中的红色为提交注释)
提交后再看状态
修改文件后,再看状态
git checkout [file name] 撤销修改
执行git add后,再看状态
再提交
git commit -m "commit message" good.txt
git log
git log --pretty=oneline
git log --oneline
git reflog
HEAD@{number} , number表示移动到当前版本需要多少步
1、注册GiHub账号,创建远程仓库的项目:atguigu ,远程仓库的Https地址:https://github.com/sun-iot/atguigu.git
2、创建本地仓库 atguigu
3、本地创建 远程仓库别名
git remote -v 查看当前别名
git remote add atguigu_url https://github.com/sun-iot/atguigu.git
为远程仓库地址去一个名字为:atguigu_url
4、本地仓库创建文件
git add README.md 添加到暂存区
git commit -m "test" README.md 提交
5、push 为推送 , 指定地址 ,master为我们推送的分支
git push atguigu_url master
6、克隆
git clone [远程地址]
效果:
· 完整的吧远程仓库下载到本地
· 创建 atguigu_url 远程地址别名
· 初始化本地仓库
7、加入团队
复制这个链接给被邀请者。
被邀请者点开链接后,接受之后,就可以成为团队成员。
此时,另一个成员就可以执行:
git push atguigu_url master 操作
8、管理员的拉取操作
git fetch atguigu_url master
git merge atguigu_url/master
将远程库与本地库进行同步
git pull atguigu_url master(是fetch 与 merge 的结合)
9、
10、配置SSH免密登录
现在家目录下,删除原来的.ssh/(配置过才会有的)
生成新的.ssh/文件
ssh-keygen -t rsa -C [email protected]
复制红色框框里面的内容
在GitHub设置中,选择 SSH and GPG keys -> key ,将刚刚的复制内容复制下,title随便写一个就好,我用的是自己的邮箱,这方就看得出来是哪个用户了。
添加好之后的效果是这个,一开始这个要是是灰色的,上传文件后,就变成绿色了。
现在就算配置好了我们的免密登陆了
11、测试免密登录
回到我们的文件夹,修改内容如下: "测试ssh免密登录的添加内容"
现将我们的文件提交熬到暂存区,再提交一下,但是不急着push
现在再来配置一下我们的别名,一开始票配置的是http别名,现在配置git别名
git romate add origin_ssh [email protected]:sun-iot/atguigu.git
现在我们再来推送我们的文件到仓库
git push origin_ssh master
到此便算好了,看下效果
初始化后的图标是这样的
这里可以直接进行commit操作,看下效果
说明:eclipse为了管理我们的工程会创建许多维护文件,和开发代码没有直接关系,最好不要在Git中进行追踪,也就是把他们忽略。也就是这些。因为一个团队中难以保证大家都是用相同的开发工具会导致相关的管理文件不同。
忽略的配置文件
# Compiled class file
*.class
# Log file
*.log
# BlueJ files
*.ctxt
# Mobile Tools for Java (J2ME)
.mtj.tmp/
# Package Files #
*.jar
*.war
*.nar
*.ear
*.zip
*.tar.gz
*.rar
# virtual machine crash logs, see http://www.java.com/en/download/help/error_hotspot.xml
hs_err_pid*
.setting
.classpath
.project
target
和 .gitconfig 文件放在同一个目录下
并在上述文件中加入:
[core]
excludesfile = C:/Users/SunY/Java.gitignore
先添加到暂存区
添加到暂存区后。控制台的Git Staging是这样的,我们在右边输入message,点下commit就好了
可以看到这个,我们现在在进行提交到本地库。提交后,就空了。
添加远程库操作,我们可以复制下远程库的http地址,https://github.com/sun-iot/SpringBoot_Auto.git
下图的仓库需要和我们提交的保持一致,我的这个图是错的
上图修正后,回来到这个页面
继续next,等待一会,如果我们的url是错误的,在这里会报错的。
最后看下我们的GitHub仓库上面是否更新。
1、先配置本地的Git路径
2、设置GitHub远程仓库的登录名和密码
3、开始创建一个本地库,他会自动做初始化操作,也可以先进入到当前项目文件夹下进行 git init ,以及 git add 操作,设置也可以进行git commit 操作,然后在Idea中进行Push一下。
4、添加到暂存区
5、提交到本地库
6、推送到远程仓库
7、填写远程仓库的URL地址
8、如果大家网络差的话,就要等待一段时间了,我也等了许久。毕竟GitHub是在国外的,我们的数据要穿越整个太平洋,绕着地球半圈,嗯,真香。,然后在push
9、右下角出现这个就说明推送成功了。
10、进远程仓库进行查看
11、如果出现提示 提示没有本地分支, 运行以下命名:
git branch --set-upstream master origin_idea/master
12、从远程仓库拉取数据
13、框框内的操作,都看得懂的。