git简单入门和常用命令

目录

创建测试

分支

冲突

分支使用原则

git远程仓库:gitee

本地代码同步到远程仓库:push操作

克隆

抓取拉取


1、创建不了点开头的文件可以使用命令 touch ~/.bashrc

 

创建测试

1、创建文件:touch file01.txt

2、将文件存入暂存区:git add .(添加所有文件) git add file01.txt (添加某个文件到暂存区)

3、查看状态:git status (如果文件变为绿色,则表示已经存到了暂存区)。暂存区是提交到仓库之前的一个缓存区域

4、将文件放到仓库里面生成一个个版本,将当前修改提交到仓库:git commit -m "add file01" 双引号里面写什么无所谓只是一个标记方便会头查看

5、提交后查看状态:git status 不会有任何显示

6、git log 可以查看文件提交到哪里了

7、可以用vi编辑器来修改文件: vi file01.txt --> esc--> wq

8、此时修改后的文件还在工作区,查看git status 文件成为红色的了。现在只需要继续add 和commit指令

9、回退版本 :git reset --hard commitid

默认选中就复制完成了,按下鼠标滚轮键粘贴。。可以前进也可以后退:git reflog 这个命令把所有操作都记录下来了,所以即使不知道commitid号码也可以从这里查看

分支

我改我的部分,你改你的部分每个人互不干扰。分成几条线进行开发,改完把代码放到一起叫合并

1、查看有哪些分支: git branch / git-log(推荐 )

2、新创建一个分支:git branch dev01(分支名)

3、2aaa1b0 (HEAD -> master, dev01) updata file01 HEAD指向谁谁就是当前分支 表示工作区只能未唯一的分支服务,在工作区(除.git文件夹外的内容)看到的内容就是当前分支

4、切换分支:git checkout dev01 两个分支是相互独立的,操作互补影响

5、创建并且切换到到某个分支:git checkout -b dev02

合并分支:两个不同的人在不同的分支上开发,一个人在master分支里面提交了gitignore另一个人在dev01分支里面创建了file02.txt文件。此时master分支上看不到file02.txt文件。dev01分支上看不到gitignore文件。假如我们要开发两个不同的功能,这两个功能最终要放到一个文件上此时就需要合并分支。一般是把其他分支合并到master分支上面

6、合并第一步:切换到master分支上 。合并第二步输入命令进行合并:git merge dev01。第三步输入git-log查看效果。合并完成之后master分支上就会有dev01分支上的东西

7、删除分支:git branch -d dev01

某个分支的内容没有merge到master上。若进行删除操作,git会认为你是误操作。需要用git branch -D dev01进行删除

冲突

两个人都开发,如果两个人改了同一个文件的同一行文字/代码。这个时候就会有冲突,git也不知道用谁的,所以需要自己解决

解决办法:删除不需要的内容,修改内容为自己需要的。修改完成之后git add . ----->git commit -m "xxx"

分支使用原则

master (生产) 分支 线上分支,主分支,中小规模项目作为线上运行的应用对应的分支; 其他分支上的代码是不能上线的

develop(开发)分支 是从master创建的分支,一般作为开发部门的主要开发分支,如果没有其他并行开发不同期上线 要求,都可以在此版本进行开发,阶段开发完成后,需要是合并到master分支,准备上线。开发新功能都是在这个分支上的,所有开发的代码都应该提交到develop分支上面,不直接在上面开发

feature/xxxx分支 从develop创建的分支,一般是同期并行开发,但不同期上线时创建的分支,分支上的研发任务完 成后合并到develop分支。

hotfix/xxxx分支, 从master派生的分支,一般作为线上bug修复使用,修复完成后需要合并到master、test、 develop分支。

还有一些其’他分支,在此不再详述,例如test分支(用于代码测试)、pre分支(预上线分支)等

git远程仓库:gitee

1、创建仓库: +--->新建仓库---->私有/公有 之后不需要任何选择,直接点击创建

2、创建完成之后,把我们的代码推上来:

验证方案:

  • gitee的用户名和密码

  • 公钥对:

    生成SSH公钥 :

    1、ssh-keygen -t rsa

    2、不断回车 如果公钥已经存在,则自动覆盖

    Gitee设置账户共公钥 :

    获取公钥 :

    3、cat ~/.ssh/id_rsa.pub

    验证是否配置成功: ssh -T git@gitee.com

    3、获取到密钥对 打开 设置----->公钥 将公钥 复制进去 ----->确定--->输入密码 后添加成功

    gitbash中输入 ssh -T git@gitee.com 来验证是否配置成功

    本地代码同步到远程仓库:push操作

  • 1、与已创建的远程仓库建立连接:git remote add origin 仓库路径 (远端名称默认是origin)

    2、推送到远程仓库:git push origin master

    3、查看远程仓库:git remote

    !若出现connect to host gitee.com port 22: Connection timed out fatal: Could not read from remote repository.无法将代码推送到远程仓库。只需要在gitee或者github里复制仓库的时候选择https地址。

    步骤:移除之前的仓库连接:git remote rm origin -----> 再次进行仓库连接:git remote add origin https://xxxxxxxxxxxxxxxx

  • 克隆

    前面是说本地有一个仓库,将本地仓库推送到远程仓库。克隆是指将本地仓库拉取到本地

    1、在桌面上打开gitbash 输入克隆指令后边加上地址:git clone https://xxxxxxxxxx

    2、操作那个文件夹就在那个文件夹里面打开git bash

    克隆操作不会 非常频繁,一般克隆只用一次->克隆仓库到本地,常用的操作是抓取和拉取

    抓取拉取

    1、抓取指令就是将仓库里的更新都抓取到本地,但是不会进行合并

    抓取 命令:git fetch [remote name] [branch name] 抓取指令就是将仓库里的更新都抓取到本地,不会进行合并

    如果不指定远端名称和分支名,则抓取所有分支。

    2、拉取指令会将远端仓库的修改拉到本地并自动进行合并,等同于fetch+merge

    拉取 命令:git pull [remote name] [branch name] 拉取指令就是将远端仓库的修改拉到本地并自动进行合并,等同于fetch+merge

    如果不指定远端名称和分支名,则抓取所有并更新当前分支。

    3、解决合并冲突:找到有冲突的文件改成自己想要的样子,然后进行add commit操作

    思路:大家同时修改同一个文件,有一个人先提交到远程仓库了,另外一个人在本地修改还没来的及提交。他就需要先执行git pull 指令在本地进行合并,这是合并的时候 会有冲突,按照前面发方法解决冲突,解决完成之后在进行push操作

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 打赏
    打赏
  • 1
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论 1
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包

打赏作者

普朗克.

你的鼓励将是我创作的最大动力

¥1 ¥2 ¥4 ¥6 ¥10 ¥20
扫码支付:¥1
获取中
扫码支付

您的余额不足,请更换扫码支付或充值

打赏作者

实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

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

余额充值