安装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相关的操作:
	git checkout -- 文件名 //撤销对文件的修改,恢复到当前的版本
	git reset HEAD 文件名	//将文件移除暂存区
	git commit -a -m '操作的提示消息'	//-a可以跳过git add操作,直接将工作区修改的内容提交到仓库
	git rm -f 文件名	//从git仓库和工作区中同时移除文件
	git rm --cached 文件名	//从仓库中移除但是保留工作区中的文件
	git log 	//查看所有的提交历史记录,按照时间排序,最近的提交在最上面
	git log -n	//查看最近的n条提交记录
	git log -n --pretty=oneline	//显示在一行上面,查看最近的n条提交记录
	
	回退版本:
		先使用git log -n --pretty=oneline查看版本位移标识
		然后使用命令:git reset --hard 版本唯一标识
		这个时候就已经切换到旧的版本了,再使用git log -n --pretty=oneline就没有办法查看所有的提交记录了
		只能使用git relog -n --pretty=oneline来查看所有的提交历史
		如果想切换的最新的版本继续上面的操作
		
	git branch	//查看所有的分支
	git branch 分支名称		//基于当前的分支创建一个新的分支,新的分支和当前分支相同。执行完之后依然处于主分支
	git checkout 分支名称	//切换到分支
	git checkout -b 分支名称	//创建新的分支并且切换到新的分支上面,相当于git branch和git checkout的合并
	git merge 分支名称		//将改分支与当前分支合并
	git branch -d 分支名称	//将这个分支删除
	
	将本地分支和远程分支进行关联;
		第一次的时候需要携带-u参数
			git push -u 远程仓库别名 本地分支名称:远程分支名称
			如果想远程分支的名称和本地分支的名称一样的话可以省略冒号以及后面的东西
	git remote show 远程仓库名称	//查看远程仓库所有的分支
	
	将远程仓库的分支下载到本地,保持远程分支和本地分支相同
		git checkout 远程分支名称
	将远程仓库的分支下载到本地,并在本地将分支进行重命名
		git checkout -b 本地分支名称 远程仓库名称/远程分支名称
	
	git pull //将远程仓库最新的代码下载到本地
	
	删除远程分支
		git push 远程仓库名称 --delete 远程分支名称
Logo

瓜分20万奖金 获得内推名额 丰厚实物奖励 易参与易上手

更多推荐