Java教程

git学习笔记

本文主要是介绍git学习笔记,对大家解决编程问题具有一定的参考价值,需要的程序猿们随着小编来一起学习吧!

安装git,可以直接去git官网,但是下载的比较慢,
可以使用国内的镜像:http://npm.taobao.org/mirrors/git-for-windows/

安装之后在Windows键按下后会出现:
在这里插入图片描述
我们使用Git Bash即可
有关git中的命令

cd .. 				//用于返回上一级目录
cd 子目录名			//进入当前路径下对应的子目录
pwd 				//显示当前所在的目录路径
clear				//用于清屏
ls					//用于显示当前目录下有哪些文件,蓝色的是目录,绿色的是程序,白色的是文件
touch 文件名.后缀	//用于创建文件的命令
rm 文件名.后缀		//用于删除文件
mkdir 目录名		//用于创建目录
rm -r 目录名		//用于删除目录
mv 文件 目录		//把文件移动到目录下
reset				//重新初始化终端,类似与clear
history				//查看刚才使用的所有命令
exit				//退出命令窗口

git中全局变量的配置

git config --global user.name "dongmu" #添加配置,这里引号可以不写
git config --global user.name 2645990605@qq.com #添加配置

git config --global --list #用于查看自己配置的内容
在这里插入图片描述
这两个信息是必须要配置的,相当于你告诉git你是谁,不然就不知道是谁提交的,不配置的话就提交不上项目,

git config -l查看所有的配置信息
在这里插入图片描述
git congif --system --list这个命令可以看到系统给我们配置之了哪些东西
在这里插入图片描述
要知道配置文件都是在本地的,git也一样,他的配置信息在Git/etc/gitconfig这里,打开可以看到:

[diff "astextplain"]
	textconv = astextplain
[filter "lfs"]
	clean = git-lfs clean -- %f
	smudge = git-lfs smudge -- %f
	process = git-lfs filter-process
	required = true
[http]
	sslBackend = openssl
	sslCAInfo = D:/JAVA/git/Git/mingw64/ssl/certs/ca-bundle.crt
[core]
	autocrlf = true
	fscache = true
	symlinks = false
[pull]
	rebase = false
[credential]
	helper = manager-core
[credential "https://dev.azure.com"]
	useHttpPath = true
[init]
	defaultBranch = master

在这里插入图片描述
想要查看我们自己的配置的变量在
在这里插入图片描述
打开之后可以看到我们自己配置的用户名和密码。

[user]
	name = dongmu
	email = 2645990605@qq.com
[credential "https://gitee.com"]
	provider = generic

git基本理论
在这里插入图片描述
在这里插入图片描述

Workspace:工作区(当前用户操作修改的区域)
Index / Stage:暂存区 (add后的区域)git add .
Repository:仓库区或本地仓库(commit后的区域) git commit
Remote:远程仓库(push后的区域)
基本使用命令

1:git init   #初始化本地仓库库的方法
2: git status #查看所有文件状态
3:git add .  #添加所有文件到暂存区
4:git commit -m #“消息内容” #提交暂存区的内容到本地仓库
4:git push -m   #“消息内容” #提交本地仓库的内容到远程仓库

.git文件夹是git init后在当前目录生成的一个管理git仓库的文件夹,这里包含所有git操作所需要的东西
在.git目录下面有一个HEAD文件里面写的是ref: refs/heads/master这个master是主分支,是唯一的,我们一般不会直接在这个上面做东西,我们会建立自己的分支。现在指向的是主分支那么我们的代码就会提交到这个分支上面去。
.git目录下还有一个是index文件,这个文件指向暂存区,上面图片中已经说了。
hooks(钩):存放一些shell脚本
Info:exclude:存放仓库的一些信息
logs:保存所有更新的引用记录

ok,上面都是理论的内容,那么如何建立一个git项目?

先建一个空的文件夹存放你的项目。在这个文件夹中右键打开Git Bash。执行一个命令git init
	这时候你这个目录下面就会多一个.git的文件夹。
	
	我们如果不想创建也可以克隆一个远程的git项目到本地。到github或者gitee上面都有如下图所示,我们复制这个链接,然后再本地先建立一个新的文件夹来放置我们的项目,在这个文件夹中打开GitBash。
	然后执行git clone 路径
	这样就可以了。

在这里插入图片描述

下面来说一下文件的4种状态:

在这里插入图片描述

Untracked: 未跟踪, 此文件在文件夹中, 但并没有加入到git库, 不参与版本控制. 通过git add 状态变为Staged

Unmodify: 文件已经入库, 未修改, 即版本库中的文件快照内容与文件夹中完全一致. 这种类型的文件有两种去处, 如果它被修改, 而变为Modified. 如果使用git rm移出版本库, 则成为Untracked文件

Modified: 文件已修改, 仅仅是修改, 并没有进行其他的操作. 这个文件也有两个去处, 通过git add可进入暂存staged状态, 使用git checkout 则丢弃修改过, 返回到unmodify状态, 这个git checkout即从库中取出文件, 覆盖当前修改

Staged: 暂存状态. 执行git commit则将修改同步到库中, 这时库中的文件和本地文件又变为一致, 文件为Unmodify状态. 执行git reset HEAD filename取消暂存, 文件状态为Modified

我们先建一个空的git项目
首先查看一下文件状态:
在这里插入图片描述
然后我们写一个文件假如是hello.txt在.git同级目录下,然后继续查看:
在这里插入图片描述
然后执行git add . :给他加入到暂存区。然后继续查看:
在这里插入图片描述
然后commit提交到本地仓库,执行:git commit -m ;这话-m表示message。相当于是一个注释,一种通知的作用,比如我们提交到远程的时候告诉别人这个版本做了哪些更改
结果如下:
在这里插入图片描述

总结:所以我们工作中一般把我们的代码放在.git同级目录下面,然后使用git add .给它添加到暂存区,然后通过git status查看是否提交进去,如果提交进去了就commit提交到本地仓库,如果连接了远程那么就在push到远程就可以了。
如何连接远程以及设置下面说。
一些细节:比如我们项目中有一些文件不需要提交到远程仓库,比如我用用IDEA开发的时候目录中会有一些其他的辅助的文件等待各种信息,这时候怎么办?
有一个.ignore文件可以实现,它的一些语法如下:
logs/:忽略当前路径下的logs目录,包含logs下的所有子目录和文件
/logs.txt:忽略根目录下的logs.txt文件
*.class:忽略所有后缀为.class的文件
!/classes/a.class:不忽略classes目录下的a.class文件
tmp/*.txt:只忽略tmp目录下的.txt文件
**/foo:可以忽略/foo, a/foo, a/b/foo等
定义全局的.gitignore文件
除了可以在项目中定义.gitignore文件外,还可以设置全局的.gitignore文件来管理所有Git项目的行为。
这种方式在不同的项目开发者之间是不共享的,是属于项目之上Git应用级别的行为。
可以在任意目录下创建相应的.gitignore文件,然后再使用以下命令配置Git
git config --global core.excludesfile ~/.gitignore

.gitignore规则不生效
.gitignore只能忽略那些原来没有被track的文件,如果某些文件已经被纳入了版本管理中,则修改.gitignore是无效的。所以一定要养成在项目开始就创建.gitignore文件的习惯。
解决方法就是先把本地缓存删除(改变成未track状态),然后再提交:
git rm -r --cached .
git add .
git commit -m "msg"

作者:若兮缘
链接:https://www.jianshu.com/p/1c74f84e56b4
来源:简书
著作权归作者所有。商业转载请联系作者获得授权,非商业转载请注明出处。
通用的.gitignore的配置模板:
#java
*.class

#package file
*.war
*.ear
*.zip
*.tar.gz
*.rar
#maven ignore
target/
build/

#eclipse ignore
.settings/
.project
.classpatch

#Intellij idea
.idea/
/idea/
*.ipr
*.iml
*.iws

# temp file
*.log
*.cache
*.diff
*.patch
*.tmp

# system ignore
.DS_Store
Thumbs.db

好了下面我们就要说一下怎么配置远程仓库了
github是国外的我们这里就不用了很慢。
1:我们自己注册一个gitee,完善个人信息。这个我们一定要认真对待,其实这都是一个人的习惯问题,养成好习惯,成就好未来,这些东西我们认真对待了为什么以后不能作为我们的一个优势呢?

我们可以在这个上面找一下开源的项目,自己学习,如果要商用,需要看它的许可协议是否允许,千万不要做违法的事情。

回到正题:
2:绑定本机SSH公钥,这个为了实现免密登录。码云是远程仓库,我们工作的时候是在本地仓库。
打开我们gitee的公钥:
在这里插入图片描述

打开下面的目录中的文件,这个目录只要是安装了git就会有。我们如果之前没有配置过这个里面就是空的,然后在这个里面启动gitbash,使用命令keygen -t rsa命令。这个rsa是加密算法,我们可以选中其他的,不过这个是官方推荐的。我们就用这个。
在这里插入图片描述
回车之后一路直接回车,然后就会生成两个文件,带pub的是公钥,不带的是私钥。我们打开公钥,复制里面的内容。
在这里插入图片描述
然后粘贴到我们码云的这个位置:
在这里插入图片描述
然后生成就可以了。如下:
在这里插入图片描述
这个前面红框里面的意思是我们前面配置信息的时候输入了邮箱,那么这里就会是邮箱,没有的话就是本机的名称。
完成之后就是下面这样子:
在这里插入图片描述

新建一个远程仓库:
在这里插入图片描述
在这里插入图片描述
在这里插入图片描述
许可证就是设置开源是否可以商用等待问题的 。
。
然后我们把他下载下来
在这里插入图片描述
然后对比可以发现他们的目录是一样的:
在这里插入图片描述

用IDEA集成git
我们直接把从gitee上面拉取的代码复制粘贴到我们的项目目录就可以了
然后rebuid一下我们的项目
在这里插入图片描述
先add上去,文件由未跟踪状态变成暂存状态:

在这里插入图片描述

在这里插入图片描述
如果我们不add我们点击提交,会出现下面界面:
在这里插入图片描述
add之后提交出现的是下面的界面:对号也可以不去掉
在这里插入图片描述
可以发现add进去之后都变成绿色的了。
基本的命令也可以在文件上右键:
在这里插入图片描述
然后继续提交
在这里插入图片描述
现在我们以及把项目提交到了本地仓库,但是远程还是没有的,我们执行git push
在这里插入图片描述
在这里插入图片描述
这时候再来看我们的gitee
在这里插入图片描述

之后我们再项目了添加新的代码:
在这里插入图片描述
然后提交到本地仓库,再push到远程仓库
在这里插入图片描述

在这里插入图片描述

上面都是git中一个人的操作,但是多个人怎么协作开发?

git分支

这篇关于git学习笔记的文章就介绍到这儿,希望我们推荐的文章对大家有所帮助,也希望大家多多支持为之网!