【Git&Github总结】2. Git本地库
一、Git命令行操作
1. git init
【注意】 .git 目录中存放的是本地库相关的子目录和文件,不要删除,也不要胡 乱修改。.git是隐藏目录,需要ls -A的命令查看隐 藏文件。 ll命令查看不到。
2. 设置签名
(1)项目级别/仓库级别:仅在当前本地库范围内有效
git config user.name tom_pro
git config user.email [email protected]
信息保存位置:./.git/config 文件
(2)系统用户级别:登录当前操作系统的用户范围
git config --global user.name tom_glb
git config --global [email protected]
信息保存位置:~/.gitconfig 文件
总结
级别优先级
-
就近原则:项目级别优先于系统用户级别,二者都有时采用项目级别的签名
-
如果只有系统用户级别的签名,就以系统用户级别的签名为准
-
二者都没有不允许
签名的作用
-
区分不同开发人员的身份。这里设置的签名和登录远程库(代码托管中心)的账号、密码没有任何关系。
3. 基本操作
(1)状态查看 git status
查看工作区、暂存区状态
(2)添加 git add filename
将工作区的“新建/修改”添加到暂存区
(3)提交 git commit -m "commit message" filename
将暂存区的内容提交到本地库
(4)查看历史记录
- git log
- git log --pretty=oneline
- git log --oneline
- git reflog
上面的四种形式都客可以查看日志!只是日志的展示形式不同。
4. 前进后退
git reflog
- 基于索引值操作[推荐]
git reset --hard [局部索引值]
git reset --hard a6ace91
- 使用^符号:只能后退
git reset --hard HEAD^
注:一个^表示后退一步,n 个表示后退 n 步
- 使用~符号:只能后退
git reset --hard HEAD~n
注:表示后退 n 步
【提示】所谓的前进与后退也就是版本的切换!
5. 比较文件的差异
(1)git diff [文件名]
将工作区中的文件和暂存区进行比较
(2)git diff [本地库中历史版本] [文件名]
将工作区中的文件和本地库历史记录比较
(3)不带文件名比较多个文件
二、分支
1. 简介
在版本控制过程中,使用多条线同时推进多个任务。
2. 优势
(1)同时并行推进多个功能开发,提高开发效率
(2)各个分支在开发过程中,如果某一个分支开发失败,不会对其他分支有任何影响。失败的分支删除重新开始即可。
3.分支操作
-
创建分支 git branch 分支名
-
查看分支 git branch -v
-
切换分支 git checkout 分支名
-
合并分支
(1)第一步:切换到接受修改的分支上 git checkout 被合并分支名
(2)第二步:执行 merge 命令 git merge 有新内容分支名
- 解决冲突
(1)两个分支,每一个分支都对同一文件进行修改,然后合并两个分支就会出现冲突!
(2)冲突的解决