切换主题
一、Git
一、环境配置
1、配置邮箱和用户名
bash
git config --global user.name "我是用户名"
git config --global user.email "我是邮箱"
2、查看邮箱和用户名
bash
git config --global user.name
git config --global user.email
3、常用指令配置别名
用户目录
下,创建.bashrc
文件
bash
touch ~/.bashrc
配置文件
bash
#用于输出git提交日志
alias git-log='git log --pretty=oneline --all --graph --abbrev-commit'
#用于输出当前目录所有文件及基本信息
alias ll='ls -al'
刷新应用文件
bash
source ~/.bashrc
二、获取本地仓库
执行命令
bash
git init
三、 常用命令
1、查看修改的状态(status)
作用:查看的修改的状态(暂存区、工作区)
命令形式
bash
git status
2、添加工作区到暂存区(add)
作用:添加工作区一个或多个文件的修改到暂存区
命令形式
bash
git add 单个文件名|通配符
将所有修改加入暂存区
bash
git add .
3、提交暂存区到本地仓库(commit)
作用:提交暂存区内容到本地仓库的当前分支
命令形式
bash
git commit -m '注释内容'
4、查看提交日志(log)
作用:查看提交记录
命令形式
bash
git log [option]
options
- --all:显示所有分支
- --pretty=oneline:将提交信息显示为一行
- --abbrev-commit:使得输出的commitId更简短
- --graph: 以图的形式显示
5、版本回退
作用:版本切换
命令形式
bash
git reset --hard commitID
可以使用 git-log 或 git log 指令查看commitID
查看已经删除的记录
bash
git reflog
通过删除记录,查看commitID
6、添加文件至忽略列表
工作目录创建.gitignore
txt
.a
四、分支
1、查看本地分支 命令
bash
git branch
2、创建本地分支 命令
bash
git branch 分支名
3、切换分支(checkout) 命令
bash
git checkout 分支名
创建并切换
bash
git checkout -b 分支名
4、合并分支(merge)
作用:一个分支上的提交可以合并到另一个分支
bash
git merge 分支名称
5、删除分支
不能删除当前分支,只能删除其他分支
删除分支时,需要做各种检查
bash
git branch -d b1
不做任何检查,强制删除
bash
git branch -D b1
6、解决合并冲突
当两个分支上对文件的修改可能会存在冲突,例如同时修改了同一个文件的同一行,这时就需要手动解决冲突
- 处理文件中冲突的地方
- 将解决完冲突的文件加入暂存区(add)
- 提交到仓库(commit)
7、开发中分支使用流程

五、远程仓库
1、配置SSH公钥
生成SSH公钥
bash
ssh-keygen -t rsa
不断回车
如果公钥存在,则自动覆盖
设置账户公共钥(gitee)
bash
cat ~/.ssh/id_rsa.pub
验证是否配置成功
bash
ssh -T git@gitee.com
2、添加远程仓库
命令
bash
git remote add <远端名称> <仓库路径>
远端名称,默认是origin,取决于远端服务器设置
仓库路径,从远端服务器获取此URL
例
bashgit remote add origin git@gitee.com:czbk_zhang_meng/git_test.git
3、查看远程仓库
命令
bash
git remote
4、推送到远程仓库
命令
bash
git push [-f] [--set-upstream] [远端名称 [本地分支名][:远端分支名]]
如果远程分支名和本地分支名称相同,则可以只写本地分支
bashgit push origin master
-f
表示强制覆盖--set-upstream
推送到远端的同时并且建立起和远端分支的关联关系bashgit push --set-upstream origin master
如果当前分支已经和远端分支关联,则可以省略分支名和远端名
bashgit push
5、查看本地分支与远程分支的关联关系
命令
bash
git branch -vv
6、克隆远程仓库
命令
bash
git clone <仓库路径> [本地目录]
本地目录可以省略,会自动生成一个目录
7、远程仓库中抓取和拉取
(1)抓取
抓取指令就是将仓库里的更新都抓取到本地,不会进行合并,如果不指定远端名称和分支名,则抓取所有分支
命令
bash
git fetch [remote name] [branch name]
(2)拉取
拉取指令就是将远端仓库的修改拉到本地并自动进行合并,等同于
fetch + merge
如果不指定远端名称和分支名,则抓取所有并更新当前分支
命令
bash
git pull [remote name] [branch name]
8、解决合并冲突
远程分支也是分支,所以合并时冲突的解决方式也和解决本地分支冲突相同相同
