远程库与本地库的克隆,拉取上传(团队内部写作):
远程库进行fork 复制之后 的托管流程(跨团队协作)
命令行操作:
1、初始化
点击鼠标右键,打开Bash here:使用Linux命令 ll 即可查看该目录下的文件
Git init 初始化操作
查看本地化.git目录存放本地库的子目录和文件
最终效果
2、设置签名
形式:
用户名:
tom
Email
地址:
goodMorning@atguigu.com
作用:区分不同开发人员的身份
辨析:这里设置的签名和登录远程库
(
代码托管中心
)
的账号、密码没有任何关
系。
命令
项目级别/
仓库级别:仅在当前本地库范围内有效
git
config
user.name tom_pro
git
config
user.email goodMorning_pro@atguigu.com
信息保存位置:
./.git/config
文件
效果:
系统用户级别:登录当前操作系统的用户范围
git config
--global
user.name tom_glb
git config
--global
goodMorning_pro@atguigu.com
信息保存位置:
~/.gitconfig
文件
级别优先级
就近原则:项目级别优先于系统用户级别,二者都有时采用项目级别
的签名
如果只有系统用户级别的签名,就以系统用户级别的签名为准
二者都没有不允许
3、基本操作
状态查看
git status
查看工作区、暂存区状态
下边的三行表示:
显示在主分支上
没有提交的东西
也没有可以提交上去的东西(暂存区也没有东西)(使用git add可以追踪创建或复制的文件)让git去管这文件
添加
git add [file name]
将工作区的“新建
/
修改”添加到暂存区
先创建一个good.txt 在里边添加了 aaabbbccc内容
查看状态可以看到:红色的文件
执行添加操作 查看状态 暂存区有了新文件
提交
git commit -m "commit message" [file name]
将暂存区的内容提交到本地库
一个文件被修改了 四行改变了
变化的四行 就是添加的东西
修改good.txt 添加几行之后 查看状态
检测到被修改
继续执行 添加操作 和提交操作 之后可以看到 两行被修改了 以及修改描述:my two change add number
提交的第二种语法 不用进 vim编辑器 直接写命令行 -m
本地库
暂存区
和工作区关系:
bendiuk
查看历史记录
git log
多屏显示控制方式:
空格向下翻页
b
向上翻页
q
退出
git log --pretty=oneline
git log --oneline
git reflog
HEAD@{
移动到当前版本需要多少步
}
版本的前进后退
基于索引值操作
[
推荐
]
git reset --hard [
局部索引值
]
git reset --hard 7576a4
后退
前进:
使用
^
符号:只能后退
git reset --hard HEAD^
注:一个
^
表示后退一步,
n
个表示后退
n
步
使用
~
符号:只能后退
git reset --hard HEAD~n
注:表示后退
n
步
reset三个参数的对比:
--soft
参数
仅仅在本地库移动
HEAD
指针
--mixed
参数
在本地库移动
HEAD
指针
重置暂存区
--hard
参数
在本地库移动
HEAD
指针
重置暂存区
重置工作区
删除文件并找回
前提:删除前,文件存在时的状态提交到了本地库。
操作:
git reset --hard [
指针位置
]
删除操作已经提交到本地库:指针位置指向历史记录
删除操作尚未提交到本地库:指针位置使用
HEAD
比较文件差异
git diff [
文件名
]
将工作区中的文件和暂存区进行比较
git diff [
本地库中历史版本
] [
文件名
]
将工作区中的文件和本地库历史记录比较
不带文件名比较多个文件