git init
git add
git commit (-m “xxx”)
git status
git log
git log --pretty=oneline
git log --oneline
git reflog
git签名设置 : 作用:只区分不同开发人员的身份
一、项目级别/仓库级别:仅在当前本地库范围内有效
git config user.name UserName
git config user.email User@email
用命令查看用户名和邮箱
git config user.name
git config user.email
二、系统级别:登录当前操作系统的用户范围
git config --global user.name UserName
git config --global user.email User@email
信息保存位置:~/.gitconfig 文件
查看:
git config --global user.name
git config --global user.email
前进后退
- 基于索引值操作(推荐)
- 使用符号:只能后退(一个代表后退一步,n个代表后退n步)
- 使用符号:只能后退(headn)
git reset --hard [索引值]
reset命令的三个参数对比
- soft:仅仅在本地库移动HEAD指针
- mixed:在本地库移动HEAD指针;重置暂存区
- hard:在本地库移动HEAD指针;重置暂存区;重置工作区
删除:
前提:删除前,文件存在时的状态体提交到了本地库。
操作:git reset --hard[指针位置]
- 删除操作已经提交到本地库:指针位置指向历史记录
- 删除操作尚未提交到本地库:指针位置使用HEAD
比较:
git diff haha.txt:将工作区的文件和暂存区进行比较
git diff 【本地库历史版本】 haha.txt
分支操作
git branch -v 查看分支
git branch xxx 创建分支xxx
git checkout xxx 切换分支
合并分支:
- 第一步:切换到接受修改的分支上。 git checkout[被合并分支名]
- 第二步:执行merge命令。git merge[有新内容分支名]
冲突的解决:
- 1.编辑文件,删除特殊符号
- 2.把文件修改到满意的程度,保存退出
- 3.git add [文件名]
- 4.git commit -m “日志信息” 注意:此时commit一定不能带具体文件名
远程:
git remote -y
git remote add hushan https://github.com/yorumi2020/hushan.git
git push hushan master
克隆
git clone xxx
git push origin master
拉取:
pull = fetch + merge
git fetch[远程地址别名] [远程分支名]
git merge[远程地址别名] [远程分支名]
git pull[远程库地址别名] [远程分支名]