目录标题
推荐导航
0.系统学习导航传送
1.SSH key
2.idea中git的使用
一.简介
Git是一个开源的分布式版本控制系统,可以有效、高速的处理项目版本管理,是目前使用范围最广的版本管理工具。
二.简单命令
1.系统命令
$ git config --system --list 查系统
$ git config --global --list 查用户
$ git config --local --list 查仓库
$ git config --global user.name \"Your Name\" 用户名
$ git config --global user.email \"email@example.com\" 邮箱
//用户名和邮箱(--global 为全局参数,表明本地所有Git仓库都会使用这个配置)
//git config local > git config --global > git config --system
$ git config --global core.autocrlf input 提交、检出转换
$ git config --global core.safecrlf true 提交、检出拦截
- 在Windows下,由回车CR(0x0D)(\r)和换行LF(0x0A)( \n))共同标志一行的结束。
- 而在Linux和Mac环境下,每一行的结束仅有一个换行LF(0x0A)(\n)。
参数 | 配置 | 解释 |
---|---|---|
core.autocrlf | true | 提交时转换为LF,检出时转换为CRLF |
core.autocrlf | input | 提交时转换为LF,检出时不转换 |
core.autocrlf | false | 提交检出均不转换 |
- 如果你文件编码是UTF8并且包含中文文字,那还是把autocrlf设置为false,并且把所有文件转换为Linux编码(即LF\n),开启safecrlf检查。
参数 | 配置 | 解释 |
---|---|---|
core.safecrlf | true | 拒绝提交包含混合换行符的文件 |
core.safecrlf | input | 允许提交包含混合换行符的文件 |
core.safecrlf | false | 提交包含混合换行符的文件时给出警告 |
注意: core.safecrlf 可以配置成input/false; core.autocrlf 配置成input, 混合换行可以提交,但是提交后直接转换;
2.新建仓库
- 创建本地仓库
mkdir fsdfds
cd fsdfds
git init
touch README.md
git add README.md
git commit -m "first commit"
git remote add origin git@gitee.com:huoiou/fsdfds.git
git push -u origin master
- 本地已有仓库
cd existing_git_repo
git remote add origin git@gitee.com:huoiou/ganyz-springcloud.git `
git remote add origin 后面是连接地址` 这一步是让远程仓库关联本地仓库
git push -u origin master
产生问题1:
可以先删除远程仓库:git remote rm origin
在重新执行 git remote add origin git@gitee.com:huoiou/ganyz-springcloud.git 命令
也可以通过$ vi .git/config把 [remote “origin”] 那一行删掉就好了。
产生问题2:
3.开发命令
git clone git@192.168.8.251:ds/ds-data-batch.git 从远程库克隆
1.提交代码过程
git status 查看文件状态
git branch -a 查看所有分支
git reset --hard origin/master 强制更新本地为远程分支
git branch master-copy 创建分支
git checkout master-copy 切换分支
git add . && git commit -m '提交' && git push origin master-copy
git checkout master 切换到待合并的分支'master'
git merge master-copy 将'master-copy'合并到当前的'master'分支
git push origin master 将'master'更新到远程
git log 查看提交版本记录
2.版本回退
git log
git log --pretty=oneline 一行显示
git log --oneline
git reset --hard HEAD^ 回退到上一个版本
git reset --hard HEAD^^ 回退到上两个版本
git reset --hard HEAD~100 回退到上100个版本
git reset --hard 563ba55a.... 回退到具体版本
3.分支创建与合并
$ git checkout -b 本地x origin/远程y
$ git checkout -b dev = $ git branch dev 创建分支
$ git checkout dev 切换分支
$ git merge dev 把dev分支合并到当前分支上
$ git branch -d dev 删除dev分支(未合并将删除失败)
$ git branch -D dev 强制删除分支
4.解决冲突
1.首先合并两个分支
2.打开冲突文件,删除标记
3.提交文件
4. git rebase --continue (提交)git rebase用于把一个分支的修改合并到当前分支。
三.连接远程仓库
git提供两种方式连接远程仓库,分别是SSH key和http方式;