一.本地仓库初始化
- git init
二.设置签名
1.项目级别
git config user.name zhang
git config user.email 222@qq.com
2.全局级别
git config --global user.name zp
git config --global user.email 29138386@qq.com
签名用于标识开发者身份,如远端仓库显示的提交者
签名使用就近原则,项目级别优先于全局
git配置信息保存在 .git/config 文件
三.查看工作区、暂存区状态
- git status
四.提交
1.将文件提交到暂存区
- git add 文件名
2.从版本控制中删除(慎用!!!!仅删除本人编写文件时使用,千万别对其他人创建的文件使用此命令)
- git rm --cached [文件名]
会删除暂存区、本地库、提交后会修改远程分支,不会删除工作区文件
3.提交
git commit [文件名]
git commit -m [提交信息] [文件名]
4.查看提交记录
git log
git log pretty=oneline 最简模式查看提交记录
git log oneline 精简模式查看提交记录
git reflog 比较多的信息查看提交记录 此方式回滚时比较方便
五.版本回退
1.回退
- git reset --hard [索引值]
reset 命令三个参数对比
--soft 在本地库移动指针
--mixed 在本地库移动指针,重置暂存区
--hard 在本地库移动指针,重置暂存区,重置工作区
2.找回
找回提交到本地库的删除文件:指针指向历史记录
找回提交到暂存区的删除文件:指针指向HEAD
3.对比文件
比较文件 git diff [文件名] 无其他参数表示和暂存区进行比较
git diff [本地库中历史版本] [文件名]
git diff 不带文件名,比较工作区和暂存区中多个文件
六.分支
1.查看分支
git branch -v 查看所有分支
git branch [分支名] 创建分支
git checkout [分支名] 切换本地分支
2.合并分支
第一步 git checkout [被合并的分支] 接受修改的分支必须是当前分支
第二步 git merge [有变更的分支] 执行merge命令
七.解决冲突
两个分支合并时 ,修改了同一个文件的相同位置,且内容不相同,会产生冲突
, 此时需要手动解决冲突第一步 编辑文件,删除特殊符号 HEAD 标记的是当前分支的版本内容 ,[分支名](如master)显示的合并过来分支的内容
第二步 把文件修改到满意的程度
第三步 git add [文件名]
第四步 git commit -m "日志信息" 需要注意的是,解决冲突的提交,此时不能后面跟文件名
八.远程推送
1.查看远程地址
- git remote -v
2.添加远程仓库地址
- git remote add origin [远程仓库地址] origin 是别名 ,代表远程地址的别名
九.从远端拉取新项目
1.拉取分支
git clone [远端项目地址]
-
clone 命令三个作用
完成把远程仓库内容拉取到本地
创建远程仓库地址别名 origin
初始化本地库
git pull origin [分支名] 拉取远程更新
pull命令 是fetch 和merge两个命令的组合
2.切换分支
git checkout origin/master 切换到远程的master
git checkout master 切换到本地的master
git fetch origin/master git fetch [远程地址别名]/[远程分支名] 将远端更新拉取到本地
- git merge origin/master git merge [远程地址别名]/[远程分支名] 将远程更新合并到本地