基本操作
- 本地仓库初始化:git init
设置用户
项目级别/仓库级别:当前项目有效
git config user.name xxx git config user.email xxx@xxx
信息保存位置: ././git/config
系统用户级别
信息保存位置:~/.gitconfiggit config --global user.name xxx git config --global user.email xxx@xxx
查看配置信息
git config --list
常用命令
查看状态
git status
添加到暂存区
git add [文件名]
移出暂存区
git rm --cached [文件名]
提交到本地仓库
git commit [文件名] 进入vim编辑器添加日志 git commit -m "日志" [文件名]
查看历史记录
git log 查看完整历史记录 git log --pretty=oneline 每个历史纪录显示一条 git log --oneline 更简单的显示,只显示过去的记录 git reflog 显示指针信息,显示所有记录
历史记录的前进后退
- 基于索引值【推荐】
git reset --hard 局部索引值
- 使用^符号:只能后退
git reset --hard^
一个^表示后退一步,n个表示后退n步 - 使用~符号:只能后退
git reset --hard HEAD~n
表示后退n步 reset命令的三个参数对比
- soft:仅仅在本地库移动HEAD指针
- mixed:在本地库移动HEAD指针,重置暂存区
- hard:在本地库移动HEAD指针,重置暂存区和工作区
- 基于索引值【推荐】
比较文件差异
git diff [文件名]
:将工作区中的文件和暂存区进行比较git diff [本地库中的历史版本][文件名]
:将工作区中的文件和本地库历史纪录进行比较git diff
:不带文件名比较多个文件
分支管理
- 查看所有分支
git branch -v
- 创建新分支
git branch [分支名]
- 切换分支
git checkout [分支名]
- 合并分支:切换到被合并的分支上
git merge [分支名]
- 解决冲突
- 编辑文件,删除特殊符号
- 把文件修改到满意的程度,保存退出
git add[文件名]
git commit -m "日志"
此时commit不能带文件名
远程操作Github
创建远程库地址别名
git remote -v
查看当前所有远程地址别名git remote add [别名] [远程地址]
推送
git push [别名] [分支名]
克隆
git clone [远程地址]
- 完整的把远程库下载到本地
- 创建远程地址别名
- 初始化本地库
拉取
- pull = fetch + merge
git fetch [远程库地址别名][远程分支名]
git merge [远程库地址别名][远程分支名]
git pull [远程库地址别名][远程分支名]