(根据尚硅谷git视频做的一些笔记,刚开始写博客,如有问题还请多多指教)
目录
1、git介绍
1.1 关于版本控制:
1.2 git工作机制
1.3 git代码托管中心(远程库):
1.4 git常用命令
1.5 git的分支操作
2、github操作
2.1 创建远程库
2.2 git 远程仓库相关命令操作:
2.3 github邀请成员加入团队
2.4 跨团队协作
2.5 配置SSh免密登录
3、idea集成git
3.1 配置git忽略文件
3.2 idea配置git
3.3 初始化本地库
Git是一个免费的开源分布式版本控制系统,旨在快速高效地处理从小型到大型的项目。
版本控制是一种记录文件内容变化,以便将来查阅特定版本修订情况的系统。
简单说就是记录保存一个文件的历史修改记录,每修改一次保存为一个版本,方便版本切换和查看历史版本。
版本控制工具一般有两类:集中式版本控制工具和分布式版本控制工具
cvs、svn、vss等
集中式的版本控制系统都有一个单一的集中管理的服务器,保存所有文件的修订版本,每个人都通过客户端连到这台服务器,取出最新的文件或者提交更新,并在本地只能存在一个最新版本。
多年以来,这已成为版本控制系统的标准做法。 这种做法带来了许多好处,每个人都可以在一定程度上看到项目中的其他人正在做些什么。而管理员也可以轻松掌控每个开发者的权限,并且管理一个集中化的版本控制系统,要 远比在各个客户端上维护本地数据库来得轻松容易。
这么做显而易见的缺点是中央服务器的单点故障。如果服务器宕机一小时,那么在这一小时内,谁都无法提交更新,也就无法协同工作。
Git、Mercurial、Bazaar、Darcs等
分布式版本控制不再具有唯一的服务器,使用者将代码从远程库中下载到本地,并在本地进行修改并保存,再上传回远程库,当远程库出现故障时,由于代码保存并在本地中有记录,所以不会出现丢失问题。
工作区:存放代码的本地磁盘位置
暂存区:工作区的代码需要先添加到暂存区
本地库:暂存区的代码提交到本地库后就会生成相应的版本记录,并无法轻易删除。
局域网:GitLab
互联网:GitHub、Gitee
(注:linux命令在git中是通用的,因此可以在git中使用linux命令。)
设置用户签名,Git 首次安装必须设置一下用户签名,否则无法提交代码。
设置用户:git config --global user.name 用户名
设置邮箱:git config --global user.email 邮箱
初始化本地库: git init (成功后会生成.git文件)
查看当前状态:git status
添加记录到暂存区:git add 文件名
删除暂存区中的文件:git rm --cached 文件名
将暂存区的文件提交到本地库:git commit -m "日志信息(版本信息,可无)" 文件名
查看历史版本信息:git reflog 或 git log 后者更详细
版本穿梭:git reset --hard 版本号
(git底层是通过移动指针来切换不同的版本)
在版本控制过程中,同时推进多个任务,对每个任务,我们可以创建每个任务的单独分支。使用分支意味着程序员可以把自己的工作从开发主线上分离开来,开发自己分支的时候,不会影响主线分支的运行,使用分支可以提高开发效率,分支底层是通过指针实现。
创建分支:git branch 分支名
查看分支:git branch -v
切换分支:git checkout 分支名
合并分支到当前分支:git merge 分支名
合并冲突:当两个分支在同一个文件的同一个位置都修改了,并且修改的内容不一致,因此无法确定使用哪一个修改,需要人为手动修改。
在修改后添加到暂存区准备提交时,不用再写文件名,否则无法确定是要提交哪个文件。
进入 github官网
点击右上角+号的new repository
输入你要创建的仓库名后点击创建即可
查看别名:git remote -v
创建别名:git remote add 别名 远程库地址
代码推送:git push 别名 分支名
代码拉取:git pull 别名 分支名
代码克隆:git clone 远程库地址
(克隆会进行三个操作:拉取远程库代码、初始化到本地仓库、创建别名)
输入要添加的用户后会生成一个地址,复制这个地址给要添加的成员
要添加的成员在登录自己的github账号后进入复制过来的地址
之后会出现一个邀请的链接,点击接受邀请即可
复制远程库地址需要跨团队人员
跨团队成员在登录自己的github账号后进入复制过来的地址
然后点击Fork即可将项目叉到自己的仓库中
跨团队成员可以在线编辑文件
在编辑完成后点击 new pull request后创建pull请求即可将修改的代码发回给对方
此时在对方github的Pull request上可以看到有一个请求
之前在往远程仓库push文件的时候使用的是HTTPS,每次都需要进行登录认证操作,使用SSH可以不用。
进入用户家目录删除 .ssh目录
rm -rvf .ssh
执行下面命令重新生成 .ssh 目录
ssh-keygen -t rsa -C 你的邮箱
进入 .ssh 并复制id_rsa.pub文件内容
登录github,点击头像--》settings --》SSH and GPG keys
将复制的内容放入key中,标题可以随便取一个
完成
# 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*
.classpath
.project
.settings
target
.idea
*.iml
[user]
name = Layne
email = [email protected]
[core]
excludesfile = C:/Users/asus/git.ignore
注意:excludesfile 请修改为你的忽略文件地址
file --》 Version Control --》git
选择git.exe位置后点击test测试,没问题的话idea会识别git版本
VCS --》 Create Git Reposity
选择 Git 本地仓库文件
现在可以通过idea操作git了~