一:Git的简单介绍
其实Git就是一个开源的版本控制系统,什么是版本控制系统呢?Version Control System, 简称VCS。版本控制系统
简单来说就是用来跟踪文件或者文件夹的变化版本历史记录的一个系统。目前版本控制系统分两类:集中式版本控制
(Centralised VCS )和分布式版本控制(Distributed vcs),集中式版本控制以SVN为代表,而分布式版本控制以Git
为代表。
git:开源的版本控制系统
版本控制系统分两类:
1.集中式版本控制系统:SVN
2.分布式版本控制系统:Git
Git要远比Github功能多,Github只是一个能够提供提交代码到在线网站的一个网站而已。当前,Github提供虚拟接口,让
你的项目可以提交到Github上托管。
二:Git的三种状态
三种状态分别是Untracked、Unstaged、Staged.
第一种状态,Untracked,也就是说git压根就不知道这个文件,对应的中文就是未被追踪的状态;
第二个状态,Unstaged,文件以及添加到git仓库中,但是还没有提交,处于等待提交的状态;
第三种状态,Staged,到了Staged状态,意味着文件可以执行提交操作。一旦执行了提交操作,文件就由Staged状态变成
Unstaged状态
Unstaged状态
一般我们操作或者输入git 命令是在git bash中进行,如何打开git bash呢,找到桌面你的项目,例如
MyProject,右键这个项目,选择git bash here。
提交操作
在做commit命令之前,我们需要创建一个身份,告诉Git这次提交是谁做的。
git config --global user.email"tester@test.com"
git config --global user.name"Anthony"
可以通过 git config user.name查看当前用户是谁
git commit -m "added abc.txt" (-m表示message,就是告诉别人你这次提交的内容是什么,-m参数不是强制性的,提交
完后,Staged状态又变成了Unstaged,如果有新的文件,就会变成Untracked状态,又开始三种状态之间切换。)
三、把本地项目提交到Github
1.桌面新建HelloWorld文件夹,里面有一个Hello.java和一个Hello.class文件
2.Github上创建一个project,待会要用,目录名字写为HelloWorld
3.输入$ git remote add origin https://github.com/yyshyd/HelloWorld.git
和$ git push -u origin master
四、分支与主干
git中的主干叫master或者main
1. 如何新建分支
接着前面一篇内容,桌面有一个HelloWorld的文件夹,里面有一个Hello.java和Hello.class的文件。右键HelloWorld这
个文件夹,选择git bash,这个时候默认就进入了该项目的master分支。
输入命令 git branch branchName 来新建一个分支。
2.如何切换到新分支
在git中切换到新的分支,用的命令是 git checkout branchName, checkout的意思是迁出的意思。
3.如何把分支合并到master
这里需先checkout到master 然后输入 git merge branch1
如果你要在github上看到效果,这里你需要执行 git push -u origin master命令,这样github下的master branch下才
可以看到a,txt文件。
4.如何把一个分支删除
git branch -d branch1
五、Tags-入门结束
1.选择在什么branch进行创建tag
git checkout master
2.创建一些tags
输入git tag tagname来创建tag
eg:git tag v1.0
还可以创建带注释的tag
git tag -a v1.1 -m "tag for release version 1.1"
3.显示tag
上面我们知道git tag可以显示当前所有tag的名称,如果需要具体某一个tag的详情信息,输入命令 git show v1.0
还可以输入匹配的多个tag,显示V1.开头的tags,比如git tag -l "v1.*"
4.推送tags到远程服务器
命令是 git push origin tagname; 如果有多个tag需要push,执行这个命令git pust --tags
5.删除tags
先看看本地仓库删除,输入命令 git tag -d v1.0
或者 git tag --delete v1.1
如何远程删除github上的tag
git push origin -d v1.0