第一步:安装git
- 官网地址:https://git-for-windows.github.io/
- Homebrew安装git: https://www.cnblogs.com/ycyzharry/p/10889420.html
- 安装完成后,在开始菜单中找到
'Git' -> 'Git Bash'
,会弹出个类似cmd的命令行窗口
第二步: 设置用户名,邮箱
git config –global user.name 'XXXX'
git config –global user.email 'XXXX@qq.com'
在命令行中输入以上内容,Git是分布式版本控制系统,所以,每个机器都必须自报家门:你的名字和Email地址
注意git config
命令的--global
参数,用了这个参数,表示你这台机器上所有的Git仓库都会使用这个配置,当然也可以对某个仓库指定不同的用户名和Email地址。
第三步:创建SSH KEY
可借鉴文档:https://blog.csdn.net/xyzchenxiaolin/article/details/51852333
ls -al ~/.ssh
ssh-keygen -t rsa –C 'XXXX@qq.com'
ls -al ~/.ssh
命令检查是否本地用户主目录有名为.ssh的密钥保存文件夹和密钥文件。如果有则表示已经创建,则不需要创建SSH KEYssh-keygen -t rsa –C 'XXXX@qq.com'
创建SSH Key,一路回车,使用默认值即可,由于这个Key也不是用于军事目的,所以也无需设置密码。- (window电脑 C:UsersAdministrator) (mac电脑 输入命令open ~/.ssh)里找到.ssh目录,里面有
id_rsa
和id_rsa.pub
两个文件,这两个就是SSH Key的秘钥对,id_rsa
是私钥,不能泄露出去,id_rsa.pub
是公钥,可以放心地告诉任何人. - 登陆GitHub或码云,打开
“settings --> SSH Keys”
页面:填上任意Title,在Key文本框里粘贴id_rsa.pub文件的内容
第四步 添加远程库(注意:如果已有仓库,跳过,直接到第六步)
Github
1.登陆GitHub,然后,在右上角**+**号里找到“new repository”按钮,创建一个新的仓库
2.Repository name填入git_repo,其他保持默认设置,点击“Create repository”按钮,就成功地创建了一个新的Git仓库
码云
1.登陆码云,然后,在右上角**+**号里找到“新建项目”按钮,创建一个新的仓库
2.项目名填入git_repo,ReadMe去掉勾选(注:如果勾选,新增的项目就不是空项目,推送项目时将报错)其他保持默认设置,点击“创建”按钮,就成功地创建了一个新的Git仓库
第五步:关联远程仓库(注意:如果已有仓库,跳过,直接到第六步)
1.创建本地仓库,提交第一个文件
cd e:git_repo
git init
touch README.md
git add README.md
git commit -m "注释:第一次提交"
1.进入e盘的git_repo目录下
2.通过 git init
将 git_repo 变成git仓库,创建完成后该目录下会多个.git的隐藏文件,如果你没有看到.git目录,那是因为这个目录默认是隐藏的,用ls -ah
命令就可以看见。
3.touch README.md
创建README.md文件,该文件用于描述项目,使用语法markdown
4.git add README.md
将README.md从工作区添加到暂存区
5.git commit -m ''
提交README.md文件
2.关联远程仓库
git remote add origin https://git.oschina.net/XXXX/git_repo.git
origin
是远程库的名称,这是git默认的叫法,改名称可自定义远程url
在GitHub或码云中对应项目下寻找,Git支持多种协议,默认的git://使用ssh,但也可以使用https等其他协议。
第六步:克隆
远程仓库文件克隆到本地仓库
git clone https://github.com/XXXX/repository.git
git clone
从远程仓库中克隆到本地仓库,至此项目已从远程仓库下载到了本地仓库,可将本地仓库的项目导入到自己的开发工具中进行操作了。
注:常用git命令
git init 初始化版本库
git add .
将文件添加到仓库中
git commit -m "描述"
将文件提交到仓库中
git checkout dev 切换分支
git checkout -b dev 创建一个分支,并切换到该分支
git checkout -d dev 删除一个分支
git branch 查看分支
git push origin 子分支 上传到子分支
注:git合并
1.git pull:获取最新代码到本地,并自动合并到当前分支
命令展示
//查询当前远程的版本
$ git remote -v
//直接拉取并合并最新代码
$ git pull origin master [示例1:拉取远端origin/master分支并合并到当前分支]
$ git pull origin dev [示例2:拉取远端origin/dev分支并合并到当前分支]
分析:直接合并,无法提前处理冲突。
2.git fetch + merge: 获取最新代码到本地,然后手动合并分支
额外建立本地分支
代码展示
//查看当前远程的版本
$ git remote -v
//获取最新代码到本地临时分支(本地当前分支为[branch],获取的远端的分支为[origin/branch])
$ git fetch origin master:master1 [示例1:在本地建立master1分支,并下载远端的origin/master分支到master1分支中]
$ git fetch origin dev:dev1[示例1:在本地建立dev1分支,并下载远端的origin/dev分支到dev1分支中]
//查看版本差异
$ git diff master1 [示例1:查看本地master1分支与当前分支的版本差异]
$ git diff dev1 [示例2:查看本地dev1分支与当前分支的版本差异]
//合并最新分支到本地分支
$ git merge master1 [示例1:合并本地分支master1到当前分支]
$ git merge dev1 [示例2:合并本地分支dev1到当前分支]
//删除本地临时分支
$ git branch -D master1 [示例1:删除本地分支master1]
$ git branch -D dev1 [示例1:删除本地分支dev1]
分析:可以提前处理冲突,额外对临时分支进行处理。
3.git fetch + merge: 获取最新代码到本地,然后手动合并分支
不额外建立本地分支
命令展示
//查询当前远程的版本
$ git remote -v
//获取最新代码到本地(本地当前分支为[branch],获取的远端的分支为[origin/branch])
$ git fetch origin master [示例1:获取远端的origin/master分支]
$ git fetch origin dev [示例2:获取远端的origin/dev分支]
//查看版本差异
$ git log -p master..origin/master [示例1:查看本地master与远端origin/master的版本差异]
$ git log -p dev..origin/dev [示例2:查看本地dev与远端origin/dev的版本差异]
//合并最新代码到本地分支
$ git merge origin/master [示例1:合并远端分支origin/master到当前分支]
$ git merge origin/dev [示例2:合并远端分支origin/dev到当前分支]
分析:可以提前处理冲突,不需要对临时分支进行处理。