文章目录
简介
- Git 是一个开源的分布式版本控制系统,用于敏捷高效地处理任何或小或大的项目。
- Git 是 Linus Torvalds 为了帮助管理 Linux 内核开发而开发的一个开放源码的版本控制软件。
- Git 与常用的版本控制工具 CVS, Subversion 等不同,它采用了分布式版本库的方式,不必服务器端软件支持。
环境配置
1.查看配置
以下操作均在Git Bash Here中进行
git config -l
查看系统配置
git config --system --list
查看本地配置
git config --global --list
第一次查看本地会找不到文件
需要在当前用户目录下新建.gitconfig文件
touch C:/Users/Windows用户名/.gitconfig
添加配置
git config --global user.name "用户名"
git config --global user.email 邮箱
添加之后再次查看就有了
2.Git相关配置文件
Git安装目录下gitconfig --system系统级(Git\etc\gitconfig)
Git安装目录下gitconfig --global用户级(C:\Users\用户名\.gitconfig)
工作区域
Git本地有三个工作区域:工作目录(Working Directory)、暂存区(Stage/Index)、资源区(Repository或Git Directory)。如果在加上远程的git仓库(Remote Directory)就可以分为四个工作区域。文件在四个工作区域的转换如下:
Workspace:工作区,存储项目代码的地方。
Index/Stage:暂存区,用于临时存放你的改动,事实上它还只是个文件,保存即将提交到文件列表信息。
Repository:仓库区(或本地仓库),就是安全存放数据的位置,这里面有所有提交的数据。其中HEAD指最新放入仓库的版本。
Remote:远程仓库,托管代码的服务器,可以简单的认为是项目组中的一台电脑用于远程数据交换。
常用命令
1.创建全新的仓库
需要用GIT管理项目的根目录执行:
#在当前目录新建一个Git代码库
git init
执行后可以看到,在项目目录多出一个.git目录(点开查看隐藏的项目),有关版本等信息都在该目录中。
2.克隆远程仓库
将远程仓库复制到本地
git clone 仓库地址
文件操作
文件状态
状态 | 解释 | 操作 |
---|---|---|
Untracked | 未跟踪,没有加入到git库中,不参与版本控制 | 通过git add变为Staged |
Unmodify | 已入库,未修改,版本库中的快照内容与文件夹中完全一致 | 通过git rm变成Untracked;通过修改变为Modified |
Modified | 已修改,没有进行其他操作 | 通过git add变成staged;通过git checkedout变成unmodify |
Staged | 暂存状态 | 通过git commit将修改同步到库中变成Unmodify;通过git reset HEAD filename变成Modified |
查看文件状态
git status #查看所有文件状态
git status [filename] #查看指定文件状态
添加文件到暂存区
git add . #添加所有的文件到暂存区
git add [filename] #添加某一文件到暂存区
提交暂存区到本地仓库
git commit -m [filename] #-m提交信息
忽略文件
有些时候不想把某些文件纳入到版本控制中,比如数据库文件,临时文件,设计文件等。在项目主目录下建立".gitignore"文件,此文件有如下规则:
- 忽略文件中的空行或以井号(#)开始的行将会被忽略。
- 可以使用Linux通配符。例如:星号(*)代表任意多个字符,问号(?)代表一个字符,2方括号([abc])代表可选字符范围,大括号({String1,String2,…})代表可选的字符串等。
- 如果名称的最前面有一个感叹号(!),表示例外规则,将不被忽略。
- 如果名称的最前面是一个路径分隔符(/),表示要忽略的文件在此目录下,而子目录中的文件不忽略。
- 如果名称的最后面是一个路径分隔符(/),表示要忽略的是此目录下该名称的子目录,而非文件(默认文件和目录都忽略)。
*.txt #忽略所有.txt结尾的文件
!lib.txt #除lib.txt除外
/temp #仅忽略项目根目录下的TODO文件,不包括其他目录temp
build #忽略build/目录下的所有文件
doc/*.txt #会忽略doc/notes.txt但不包括doc/server/arch.txt
Gitee的使用
注册并登录Gitee:https://gitee.com/
配置SSH公钥
点击头像选择设置
点击选择SSH公钥
桌面右键打开Git Bash Here,输入
ssh-keygen -t rsa
冒号后一路按回车,如下图
然后打开C:\Users\用户名\.ssh
复制SSH公钥
粘贴到Gitee对应位置
点击确定,输入密码
点击验证,公钥就设置好了
新建仓库
点击头像旁边的加号选择新建仓库
填写仓库信息
可根据需求设置如下
如果想公开,创建成功后点击管理,下滑选择开源再保存就行
IDEA(2020.2版)中使用Git
1.IDEA中配置Git
打开IDEA中的File-Settings,找到Git,在Path to Git executable处选择Git执行文件路径
2.IDEA中创建Git
点击下图所示创建Git
选择项目文件,点击OK
集成后效果
接下来可以选择使用IDEA中集成的Git插件
3.将远程仓库文件加入项目中
将远程仓库中的文件(参考本文:克隆远程仓库)复制到项目中,如果没有仓库,则先建立GItee或Gitub远程仓库(参考本文:新建仓库)
复制远程仓库文件
找到项目路径位置,粘贴并替换文件
4.提交暂存库
5.提交本地库
选择提交文件(默认全选),填写提交信息,点击提交
6.提交远程仓库
选择提交的版本,点击Push上传
Git分支
Git分支管理几乎每一种版本控制系统都以某种形式支持分支,一个分支代表一条独立的开发线。
Git分支常用命令
1.列出分支
git branch #列出本地分支
git branch -r #列出所有远程分支
2.新建分支
git branch [branch-name] #新建分支,但依然停留在当前分支
git checkout -b [branch-name] #新建分支,并切换到该分支
3.合并分支
git merge [branch-name] #合并指定分支到当前分支
4.删除分支
git branch -d [branch-name] #删除分支
#删除远程分支
git push origin --delete [branch-name]
git branch -dr [remote/branch]
5.切换分支
git checkout [branch-name]