一.安装git
下载windows 系统 git ,下载地址 https://git-scm.com/download/win
下载好后,除了修改安装位置外,其余安装选项全部默认,一直点“下一步”
安装完成后,打开cmd,自报家门(或者可以鼠标右键选git bash)
如下信息会在提交代码时要使用,记录在你每次提交中,以后才知道哪次提交是谁做的
git config --global user.name "user1"
git config --global user.email "user1@163.com"
查看信息
git config -l
需要在windows哪个目录下创建本地仓库,就到哪个目录下,右键选择git bash here ,然后git init
版本库
工作区
暂存区
本地分支
本地仓库操作:
git status (查看当前追踪状态,即哪些文件已经从本地分支提交到了暂存区)
git add file1 (代表添加file1到暂存区)
git add. ( .代表添加所有文件到暂存区)
git commit -m "description of this commit" (将暂存区提交到本地仓库)
二.在远程仓库创建账号(github,码云,或内网创建的私服)
- 注册账号,然后登录
2.新建一个远程仓库 (github,gitee(码云)或者自己搭建的git服务器,准确的来说这些叫git服务器,我们在git服务器上创建远程仓库)
3.public的不收费但公开, private收费
三.本地仓库与远程仓库建立连接 (这里使用ssh方式,还有一种https方式)
1.生成密钥对(即公钥和私钥) (ssh是较为可靠的数据传入协议,其中用生成的私钥加密,使用公钥解密)
2.在工作区(即.git 所在的目录下)使用命令行 执行 ssh-keygen -t rsa 然后一路敲回车, 密钥对默认生成位置 当前用户下.ssh目录下
3.将c:\users.ssh 目录下 打开公钥,复制内容
4.在远程仓库 右上角用户头像下选择settings,将公钥内容配置上
四.本地仓库与远程仓库关联
在本地 git bash here
执行 git remote add origin + 远程仓库ssh或https的地址 (这个地址在远程仓库复制过来的)
git push origin master
五.克隆远程仓库代码到本地
在实际使用中,远程仓库肯定是已经先创建好的,我们只需要clone一份完整代码到本地
新来的开发:git clone +远程仓库ssh或https的地址
开发1: git push origin master
开发2: git pull origin master
开发1代码有变动时推代码到远程仓库mater分支,开发2 拉取远程仓库master分支(有变动)的代码到自己本地
六.分支
在实际商业项目开发中,我们不会轻易的在master分支上操作(因为master分支要保证它是稳健,可靠的版本)
我们会新建一个开发用的分支,在此基础上做版本的记录
当代码没有问题(经过测试没有bug,或者需求不变时),才会将分支上成熟的代码添加到master分支上
所以,这样既可以保证开发过程中,可以及时记录版本,又可以保证master分支上的每个提交点都是稳健的版本
创建分支
git branch dev (dev是分支名)
查看分支
git branch 查看本地分支
git branch -a 查看远程分支
切换分支
git checkout dev
一次性创建新分支并切换到分支名
git checkout -b 分支名
合并分支
两个分支内容的合并
git merge 分支a 合并分支a (注意:如果要将a分支合并到master分支,需要在master分支上执行git merge 分支a)
例如:
git checkout master
git merge branch2 (先切换到master分支,再将branch2合并到master分支上)
七.在Intellij idea中关联git
- settings-->git-->自动检测git安装位置
- idea中创建本地仓库vcs-->create git repository-->自动定位到项目目录
- idea项目根目录下创建.gitignore忽略文件,避免提交不必要的文件
4.在idea中commit,push,pull
总结: 测试实际使用到的git常用操作
1.git的安装,自报家门,生成公钥和私钥与远程仓库建立连接
2.创建本地仓库 git init
3 将远程仓库的自动化代码clone到本地 git clone + git仓库地址(ssh或https地址)
4.拉取的代码修改后直接在本地调试
5.调试成功后直接在idea上push到master分支