学习笔记-Git

版本控制

SVN集中式

GIt分布式

环境配置

系统配置: /GIT/etc/gitconfig

学习笔记-Git

用户配置:C:/用户/用户名/.gitconfig

学习笔记-Git

git config --global user.name "名称"
git config --global user.email xxxx@xx.com

基本理论

工作区域

Git本地有三个工作区域︰工作目录(Working Directory )、暂存区(Stage/Index)、资源库(Repository或Git Directory)。如果在加上远程的git仓库(Remote Directory)就可以分为四个工作区域。文件在这四个区域之间的转换关系如下∶

学习笔记-Git

项目搭建

本地初始化

git init  # 在当前目录新建git代码库

学习笔记-Git

远程克隆

git clone url # url 在远程服务器上找http链接 

提交

git status # 状态查询
git status [文件名]# 特定查询

学习笔记-Git

git add . # 将当前项目放入暂存区 (追踪)

学习笔记-Git

git commit -m "提交描述信息" # 将暂存区文件提交到本地仓库
git push # 提交到远程

忽略文件

一个项目并不是所有文件都需要纳入版本控制,这时需要在提交时忽略一些文件

在主目录下新建 .gitignore 文件,此文件中遵循如下规则:

1.忽略文件中的空行或以井号(# )开始的行将会被忽略。
2可以使用Linux通配符。例如∶星号(*)代表任意多个字符,问号( ﹖)代表一个字符,方括号( [abc])代表可选字符范围,大括号({string1,string2,…})代表可选的字符串等。
3.如果名称的最前面有一个感叹号( ! ),表示例外规则,将不被忽略。
4.如果名称的最前面是一个路径分隔符(/ ),表示要忽略的文件在此目录下,而子目录中的文件不忽略。
5.如果名称的最后面是一个路径分隔符(/),表示要忽略的是此目录下该名称的子目录,而非文件(默认文件或目录都忽略)。

*.txt      # 忽略所有 .txt结尾的文件
!lib.txt    #  不忽略lib.txt
bin/: 		#忽略当前路径下的bin文件夹,该文件夹下的所有内容都会被忽略,不忽略 bin 文件
/bin: 		#忽略根目录下的bin文件
/*.c: 		#忽略 cat.c,不忽略 build/cat.c
debug/*.obj: 	#忽略 debug/io.obj,不忽略 debug/common/io.obj 和 tools/debug/io.obj
**/foo: 		#忽略/foo, a/foo, a/b/foo等
a/**/b: 		#忽略a/b, a/x/b, a/x/y/b等

配置SSH公钥

idea集成git

在idea项目目录下新建git项目或者clone远程git

提交

学习笔记-Git

分支

git branch # 列出所有本地分支
git branch -r # 列出所有远程分支

git branch 分支名  # 新建分支
git checkout -b 分支名  # 新建分支并切换过去

git merge 分支名  # 合并指定分支到当前分支

git branch -d 分支名  # 删除

master主分支应该非常稳定,用来发布新版本,一般情况下不允许在上面工作,工作一般情况下在新建的dev分支上工作,工作完后,比如上要发布,或者说dev分支代码稳定后可以合并到主分支master上来。

上一篇:WPF 精修篇 获取系统颜色和字体样式


下一篇:Python将mysql数据库相关内容进行封装