Git
作用
- 实现跨区域多人协同开发
- 追踪和记载一个或者多个文件的历史记录
- 组织和保护你的源代码和文档
- 统计工作量
- 并行开发、提高开发效率
- 跟踪记录整个软件的开发过程
- 减轻开发人员的负担,节省时间,同时降低人为错误
常见的版本控制工具
- Git
- SVN(Subversion)
- CVS(Concurrent Versions System)
- VSS(Micorosoft Visual SourceSafe)
- TFS(Team Foundation Server)
- Visual Studio Online
git的故事
1991-2002年,Linux 内核开源项目有很多维护者,单很多维护者都是直接将代码提交给作者。
2002 年,开始启用分布式版本控制系统 BitKeeper 来管理和维护代码。
Linux社区中存在很多的大佬!经常去破解研究 BitKeeper !
2005 年,开发 BitKeeper 的商业公司收回了 Linux 内核社区免费使用 BitKeeper 的权力。因此Linux 的作者 Linus Torvalds用了2周左右开发出自己的版本系统, 也就是后来的 Git!
git工作流程
- Workspace:工作区,就是你平时存放项目代码的地方
- Index / Stage:暂存区,用于临时存放你的改动,事实上它只是一个文件,保存即将提交到文件列表信息
- Repository:仓库区(或本地仓库),就是安全存放数据的位置,这里面有你提交到所有版本的数据。其中HEAD指向最新放入仓库的版本
- Remote:远程仓库,托管代码的服务器,可以简单的认为是你项目组中的一台电脑用于远程数据交换
Git环境配置
下载地址(淘宝镜像):http://npm.taobao.org/mirrors/git-for-windows/
安装:除了安装位置需要注意,剩下的无脑下一步即可
启动程序
Git Bash:Unix与Linux风格的命令行,使用最多,推荐最多
**Git CMD:**Windows风格的命令行
Git GUI:图形界面的Git,不建议初学者使用,尽量先熟悉常用命令
查看git配置
#查看配置
git config -l
#查看系统config
git config --system --list
#查看当前用户(global)配置
git config --global --list
Git相关的配置文件:
-
Git\etc\gitconfig :Git 安装目录下的 gitconfig --system 系统级
-
C:\Users\Administrator\ .gitconfig 只适用于当前登录用户的配置 --global 全局
配置步骤
-
下载安装git
-
注册远程仓库(gitee / github)账号,并新建一个仓库
-
设置用户名与邮箱(用户标识,必要)
git config --global user.name "kuangshen" #名称 git config --global user.email 24736743@qq.com #邮箱
-
仓库搭建(两种情况,用的比较多是第二种)
-
本地仓库:在需要使用git的目录下,执行下面代码
#将当前目录设置为git仓库 git init
-
远程仓库
# 克隆一个项目和它的整个代码历史(版本信息) $ git clone [url]
-
-
设置本机绑定SSH公钥,实现免密码登录
-
C:\Users\Administrator.ssh 目录,使用以下命令
# 生成公钥 ssh-keygen
-
获得两个文件,复制 id_rsa.pub 文件内容
-
在远程账户设置下创建SSH公钥,并将复制的文件内容粘贴进来
-
-
配置完成
常用命令
-
查看文件状态
#查看指定文件状态 git status [filename] #查看所有文件状态 git status
-
将文件添加到缓存区
git add . #添加所有文件到暂存区
-
将文件提交到本地仓库
git commit #提交到本地仓库 git commit -m "消息内容" # -m 提交文件和描述信息
-
git分支中常用指令
# 列出所有本地分支 git branch # 列出所有远程分支 git branch -r # 新建一个分支,但依然停留在当前分支 git branch [branch-name] # 新建一个分支,并切换到该分支 git checkout -b [branch] # 合并指定分支到当前分支 $ git merge [branch] # 删除分支 $ git branch -d [branch-name] # 删除远程分支 $ git push origin --delete [branch-name] $ git branch -dr [remote/branch]
忽略不需要上传的文件
在主目录下建立".gitignore"文件,此文件有如下规则:
- 忽略文件中的空行或以井号(#)开始的行将会被忽略。
- 可以使用Linux通配符。例如:星号(*)代表任意多个字符,问号(?)代表一个字符,方括号([abc])代表可选字符范围,大括号({string1,string2,…})代表可选的字符串等。
- 如果名称的最前面有一个感叹号(!),表示例外规则,将不被忽略。
- 如果名称的最前面是一个路径分隔符(/),表示要忽略的文件在此目录下,而子目录中的文件不忽略。
- 如果名称的最后面是一个路径分隔符(/),表示要忽略的是此目录下该名称的子目录,而非文件(默认文件或目录都忽略)。
#为注释
*.txt #忽略所有 .txt结尾的文件,这样的话上传就不会被选中!
!lib.txt #但lib.txt除外
/temp #仅忽略项目根目录下的TODO文件,不包括其它目录temp
build/ #忽略build/目录下的所有文件
doc/*.txt #会忽略 doc/notes.txt 但不包括 doc/server/arch.txt
IDEA中集成Git
方式1:
- 在本地创建一个IDEA项目,在远程仓库创建一个仓库
- 用资源管理器打开项目目录
- 在该目录下clone远程仓库的文件下来
此时,重启IDEA就可以操作git了
方式2:
https://blog.csdn.net/weixin_44740485/article/details/122387782
操作流程:
-
创建仓库
-
添加到暂存区 git add .
-
commit 提交 git commit -m “描述信息”
-
push到远程仓库 git push
总结:
方法1:
先将仓库clone到本地,修改后再push到 Gitee 的仓库
git clone https://gitee.com/用户个性地址/HelloGitee.git #将远程仓库克隆到本地
git add . #将当前目录所有文件添加到git暂存区
git commit -m "my first commit" #提交并备注提交信息
git push origin master #将本地提交推送到远程仓库
方法2:
本地初始化一个仓库,设置远程仓库地址后再做push
先创建仓库
git init
再关联
git remote add origin https://gitee.com/用户个性地址/HelloGitee.git
pull分支
git pull origin master
操作
git add .
git commit -m "第一次提交"
git push origin master