Git 本地库和远程库的基本使用

Git的本地库

本地仓库基本命令

1.git init: 初始化本地库 在当前目录创建一个.git的隐藏目录

在本地库中包括工作区、版本库、暂存区
工作区(Working Directory):就是你电脑本地硬盘目录,一般是项目当前目录
暂存区(stage):一般存放在"git目录"下的index文件(.git/index)中,所以我们把暂存区有时也叫作索引(index)
版本库(本地库Repository):工作区有个隐藏目录.git,它就是Git的本地版本库
分支(Branch):Git为我们自动创建的第一个分支master,以及指向master的一个指针叫HEAD

2.git config --global user.name 用户名 首次安装Git的话必须设置全局用户签名 和邮箱
3.git config --global user.email 邮箱
4.git add 将文件交给git管理 实际上就是把本地文件修改添加到暂存区
4.1.git status 查看文件当前处于暂存区(文件名为绿色)还是版本库还是工作区(文件名为红色)
5.git commit -m (日志信息)文件名
6.git commit -am (日志信息)文件名 如果不是第一次add的话就可以直接使用-am直接提交到本地库
7.git log : 查看版本详细信息(只显示本地库commit的历史记录)
8.git reflog : [文件名] 查看版本信息(显示本地库所有操作的历史记录,比如commit、reset)
9.git log a.txt 查看某个文件日志
10.git log --pretty=oneline 如果日志很多,可以在一行显示

11.git reset --hard 版本号 : 版本穿梭 可以通过版本号切换当前版本
Git切换版本,底层其实是移动的HEAD指针

三种情况下的回退操作:
未add,未commit (修改无效,回退到最后一次提交的数据)
git checkout-- a.txt 撤销修改(还原原来的文件) <=Git 2.22 //已经不用了
git restore – a.txt 撤销修改(还原原来的文件,必须是已经提交过的代码或者文件) >=Git2.23
注意:-- 可以省略 但不可以–a.txt 空格不可少
已add,未commit 软回退 (只是将文件的状态进行了回退)
git add a.txt
git reset a.txt 软回退:
git reset 软回退:
已add,已commit 硬回退 (回退到指定版本,内容变化)
git reset --hard 版本号
git reset --hard HEAD^ 一次回退一个版本,一个^代表一个版本
git reset --hard HEAD~n 回退n次操作

12 工作空间中的一个文件从上传到删除的一个流程 :git add 添加到缓存区——》提交到本地仓库——》rm 文件名从工作区上删掉 ——>在提交——》在提交这是此版本的这个文件就已经删除掉了

分支

什么是分支:

在版本控制过程中,同时推进多个任务,为每个任务,我们就可以创建每个任务的单独分支。使用分支意味着程序员可以把自己的工作从开发主线上分离开来,开发自己分支的时候,不会影响主线分支的运行。对于初学者而言,分支可以简单理解为副本,一个分支就是一个单独的副本。(分支底层其实也是指针的引用)

分支的好处:

同时并行推进多个功能开发,提高开发效率。各个分支在开发过程中,如果某一个分支开发失败,不会对其他分支有任何影响。失败的分支删除重新开始即可。
13.查看分支 git branch -v
14.创建分支: git branch 分支名
15.修改分支:在分支下对文件进行修改后提交(分支修改后也一定要提交)
16.切换分支 :git switch 分支名 (切换分支的本质就是移动HEAD指针,切换分支是观察.git/HEAD文件的变化)
17.合并分支:git merge 分支名 (一般实在maseter分支上合并其他分支)
删除分支:git branch -d (-D)删除分支 (-d 内容已经完成合并) (D强制删除分支有没有合并的内容)
18合并分支产生冲突:当不同分支对同一代码或文件的同一行进行修改的时候(并且是提交过的)就会产生冲突
冲突产生的表现:后面状态为MERGING
19.解决冲突:就是将系统自动为我们进入到这个文件中区决定如何去留这段代码,确定文件内容和进行添加到缓存区在到提交到本地仓库。
如何避免冲突:

容易冲突的操作方式
* 多个人同时操作了同一个文件
* 一个人一直写不提交
* 修改之前不更新最新代码
* 提交之前不更新最新代码
* 擅自修改同事代码
减少冲突的操作方式
* 养成良好的操作习惯,先pull在修改,修改完立即commitpush
* 一定要确保自己正在修改的文件是最新版本的
* 各自开发各自的模块
* 如果要修改公共文件,一定要先确认有没有人正在修改
* 下班前一定要提交代码,上班第一件事拉取最新代码
* 一定不要擅自修改同事的代码

Git 的远程库

GitHub、码云、GitLab等
命令:

add:添加,就是将工作区代码添加到暂存区

commit:提交,就是将本地暂存区代码上传到本地仓库中

push:推送,就是将本地仓库代码上传到远程仓库

clone:克隆,就是将远程仓库复制到本地

pull:拉取,就是将远程仓库代码下载到本地仓库

1.git remote -v 查看当前所有远程地址的别名
2.git remote add 别名 远程的地址 :为远程地址起起别名
3.git clone 远程地址 :将远程仓库的内容克隆到本地
4.git push 别名 分支 :推送本地内容到远程仓库 (谨记第一次push的时候一定要使用git push -u 别名 分支名 把本地master分支和远程库的master分支关联起来)(再clone的代码后文件夹中有默认的remote对应的远程地址和别名origin必须看再那个文件夹)
5.git pull 远程库地址名 远程分支名 :将远程仓库对于分支最新内容拉下来后与当前本地分支直接合并
在远程访问别人仓库的时候只有当别人仓库为空的时候才可以直接上传自己的单独的文件或代码 如果不为空的话需要先clone别人的仓库在进行更新操作

跨团队操作

需要加入别人仓库的forked ,在修改更新完代码后需要使用 Pull Requests 进行发送请求进行代码合并

通过SSH 远程访问远程库

首先去自己的远程仓库中设置密钥 接下来再往远程仓库push东西的时候使用SSH连接就不需要登录了。(前提只能是自己的远程仓库才可以使用)
通过公钥密钥进行 公钥是用来加密 密钥是进行解密的
首先生成一对公钥和密码 命令为:

ssh-keygen -t rsa -C 邮箱

保存密钥的路径为:

/c/Users/22326/.ssh/id_rsa): 密钥的文件保存的路径

评论 1
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值