git的三个区:工作区,暂存区,本地库
创建项目:git init
项目级别:
设置名字和电子邮件:git config user.name(要设置的名字)
git config user.email(email)
查看配置:cat .git / config
系统级别:
git config --global user.name(要设置的名字)
git config --global user.email(email)
查看状态:git status
将工作区的文件添加到暂存区:git add文件
将提交的文件恢复到之前的状态:git rm --cached文件名
将文件从暂存区提交到本地库:git commit 文件名,然后在第一行写上你的意图例如: My first commit.new file test.c
如果修改,再次提交:git commit -m "这次修改的意图" 文件名
查看版本的历史纪录:git log
以一种漂亮的格式来显示:git log --pretty=oneline(每一个格式只显示一行)更简洁:git log --oneline
可以显示步子的历史纪录:git reflog
将HEAD指向历史版本:git reset --hard 索引值(例如:1c1f79c)
reset命令的三个参数的对比:
--soft:
仅在本地库移动HEAD指针
--mixed:
在本地库移动HEAD指针
重置暂存区
--hard:
在本地库移动HEAD指针
重置暂存区
重置工作区
删除文件并找回:
前提:删除前,文件存在时的状态提交到了本地库。
操作:git reset --hard 指针位置
删除操作已经提交到了本地库:指针位置指向历史纪录
删除操作尚未提交到本地库:指针位置使用HEAD
查看不同版本文件的差异:
git diff 文件名(刚修改的与当前版本进行比较)
git diff HEAD~n 文件名(与前n个版本进行比较)
git的分支:
在版本控制中,用多条线同时推进多个任务。
查看当前的所有分支:git branch -v
创建一个新的分支:git branch 分支名
切换至新的分支:git checkout 分支名
分支的合并:
切换到接受修改的分支(如master分支(被合并的分支))
执行merge命令
git merge 需要合并的分支(有新内容的分支)
解决分支冲突的问题:
第一步:编辑文件,删除特殊符号
第二步:把文件修改到满意的程度,保存退出
第三步:git add 文件名
第四步:git commit -m "日志信息"
注意:此时commit 一定不能带具体的文件名
给Github项目地址起个别名:
git remote add 别名 项目地址
查看别名:git remote -v
项目的推送:
git push origin(别名) master(分支)
项目的克隆:
git clone 克隆地址
克隆的效果:
完整的把远程库下载到本地
创建origin远程地址别名
初始化本地库