git学习笔记(二)

1.分支

我们在刚开始编辑的时候都会在标头上有一个master,这个到底是什么呢?

master 主分支 也是git 默认给创建的分支,我们一般让master保存软件的最新版本。

当我们进行多个人进行开发的时候,都是通过分支来开发的,比如今天新来了一个开发人员,都会给他创建一个分支,开发他自己的模块,开发过后进行和主分支的合并。如果任务完成,他可以继续去做别的或者到别的开发小组,我们只需要把分支删除就行了。

创建一个新的分支

git checkout -b "dev_wang"          -b 表示 breach

git branch  可以查看当前所有的分支情况,并且可以看到目前所处的分支  *号

切换到主分支  git checkout master 

HEAD 的一个补充 指向的是当前分支的最新版本

不同的分支在进行开发后没有与主分支进行合并的话,看到的版本会和主分支不一样。

删除分支 git branch -d dev_Wang  删除一个分支 必须在其他分支

如果内容没有被合并,我们也不能删除分支,只能强制删除git branch -D dev_Wang

2.合并

当然了,我们创建了分支,任务完成是需要和主分支进行合并的,这样次分支的版本才能同步到主分支上,使用的命令是

git  marge  dev_Wang 这样就可以快速的将分支的内容合并到主分支

如果我们只有一个人开发,不会出现什么问题,但如果是多人开发呢?比如我的文件所有人都是从主分支上clone上的,所以内容一致,但是一段时间以后,小王先合并了自己的内容,过会,小李想要合并自己的任务内容,但是小王写的东西又没给小李看,所以小李没有他的内容,这就导致小李合并自己的内容的时候,在主分支上有一段他并没有的内容,我们把这种情况叫做冲突,有了冲突我们当然要解决,我知道的一种解决办法就是在主分支上将内容进行提交,git status,git add .  git commit -m "冲突解决"

3.config

git config -l 就是查看所有的配置信息,git config 有三种配置的级别

仓库级别 .git 文件夹>> config 文件下  git --local -l

全局级别 当前用户之下 config文件夹   全局级别 git --global -l

系统级别  git 安装目录下的etc git config --system -l

git config --global(在哪个配置级别下) --unset (删除某个选项)  user.name

git config --global --add user.name gao  在全局的配置下添加一个配置

有的时候,有的字段太长,比如 git status,我们就可以使用别名,和linux差不多

配置别名

    git config --global alias.st status  表示为status配置一个别名是st 这样我们就可以用 git st 了,是不是很方便。

4.打标签

大家还记得在第一篇git 学习笔记里面我们用的 git reset --hard commitid 吗?这是个控制版本的东西,但是,每次我们在查找commitid 的时候就很费时间,是一大长串的数字,虽然git 支持一部分就可以,但是还是有点麻烦,所以我们就可以为我们的版本打标签,v1.0 v2.0  ,这样在版本切换的时候我们也会很方便,上菜

添加一个标签

    git tag v1.0 给当前的最新版本上一个版本
    git tag v1.0 commitid   给之前的版本设置一个标签

删除标签
    git tag -d v1.0  删除标签

快速变换
git reset --hard v1.0  可以快速的变换版本
5.本地仓库和远程仓库

我们不可能让每个人都在一个电脑上进行开发 我们能不能把我们的master 分支放在一个公共的电脑上拿到一个代码

master 是远程仓库 保留的是一个最新的版本

每个分支就是一个本地仓库  开发完之后放到远程仓库

局域网 一台远程仓库

现在有很多的更好的管理开源代码、比如github 国外的远程仓库  码云  国内的远程仓库,但是这些公用的代码如果不交钱是要公开的
也可以搭建一个自己的私有仓库 gitlab,具体怎么搭建可以去查查资料,挺简单的。

以github 为例,我们先要搭建一个仓库,具体操作方法可以百度一下

操作远程仓库

将本地的仓库上传到远程仓库,接下来将本地的内容推送到远程的仓库上
(1)要让两者有关联

给本地仓库增加一个远程仓库 git remote add origin  远程仓库的地址(ssh 地址)
origin 把本地仓库和远程仓库进行关连

推送是需要一个安全的,我们需要生成一个ssh key ssh -keygen -t rsa -C "1757243947@qq.com"

会在用户下生成一个.ssh文件,打开id_rsa,将里面的内容复制一下

设置sshkey,在github 官网的自己的设置里面有ssh key 的设置,添加一个,把复制的内容添加上去,就好了

推送操作

关联号后我们可以把master 这个分支推送上去  

git push -u origin master 就可以了 

如果是在其他的分支上,我们就可以先git checkout master 

git merge dev_li

git push -u origin master

或者 git push -u origin dev_li

克隆操作

前提是ssh key 添加完成,不然没有权限去clone

git clone ssh地址

克隆后修改了以后 我们要添加 就不需要进行 -u  git push orgin master

当远程仓库的版本如果和本地仓库的内容不一致,先要把远程仓库的内容拉下来的最新版本才行 git pull 然后手动解决冲突
最后再进行git push origin master

本篇博客为本人的学习笔记,如有疑问请以官网为依据,欢迎私信。

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值