首页 > 其他分享 >Git——从入门到入云

Git——从入门到入云

时间:2022-12-11 10:01:52浏览次数:45  
标签:Git origin git 入门 -- 文件夹 提交 入云 分支


(一)Git——安装与初始化

安装

安装其实就比较简单的,把Git下载过来,一直下一步就行,没什么难度。

命令

接下来介绍一些简单的Git命令。

1.用户签名

用户签名的作用就是告诉别人你是谁,方便区分不同的成员,具体方法如下所示

git config --global user.email "[email protected]"
git config --global user.name "name"

--global 是让我们的用户签名到哪都可以用,而不只能在某一个文件夹用,省了蛮多事情。

然后具体操作如下所示。我们现在介绍一下如何查看自己设置成功了。

Git——从入门到入云_git

先找到c盘,打开用户名文件夹,找到一个 .gitconfig 的文件夹,用记事本打开就可以了。打开之后如果显示是这样的,就是说明成功了。

Git——从入门到入云_git_02

2.初始化

这个初始化呢,其实就是选择一个希望被git管理的文件夹,然后将其初始化,这样我们就得到了一个被git管理的文件夹,后期在文件夹中的操作都能被记录下来。

步骤
  1. 找到一个希望被管理的文件夹
  2. 在文件夹单击右键,点开 Git Bash Here (或者直接通过cd 进入)
  3. 输入指令
git init

之后就能到文件夹里看到一个这样隐藏的文件了。(要在文件管理里面打开显示隐藏文件)

Git——从入门到入云_暂存区_03

然后再介绍一些简单的常用指令。而且在git里面,按上键可以回到之前的命令,感觉特别舒服。

# 这个就是进入命令,(可以用Tab键补全)
cd first/
# 这个就是回到上一级
cd ..
# 这个就是查看文件夹
ls
# 这个就是查看所有文件夹
ls -a

(二)Git——基本操作

工作机制

Git的工作机制主要分为三个区,工作区,暂存区,历史区。工作区很好理解,就是我们工作的地方,然后暂存区,就是用来放我们写好的代码,最终把成稿提交到版本库。之所以不直接提交到版本库就是怕到时候版本库特别乱,到处都是各个版本的修订版,具体如下图所示。


托管平台

  • 局域网(内网)
  • gitlab
  • 公网(外网)
  • gitlab
  • github
  • gitee

内网主要就是安全,但是搭建成本较高。而外网成本不高,但是不安全。为此,外网有私有和共有之分,顾名思义,私有的话你必须有相应的权限才能进入,确保了一定的安全性。

命令

提交暂存区

git add

这个就是将我们的文件或者文件夹添加到暂存区的命令,主要有下面几种。

# 添加一个文件
git add first.txt
# 添加一个文件夹(非空)
git add css/
# 添加所有文件
git add --all
git add .


查看

git status

这个就是查看我们现在的状态的代码。我们需要知道,绿色的就代表现在这个文件夹在暂存区。

git status


删除暂存区

git rm --cached

这个是用来删除暂存区的文件的,其实在上面也有提示。

git rm --cached


这样就删除了,颜色变成红色。


提交历史区

git commit

这个就是把我们在暂存区的代码放到历史区了。

git commit -m "first功能实现"


如果没有加 -m,就会进入文件,它一定要你留下为什么提交这次记录才会让你走。这个时候,先按下i键,进入insert模式。


然后写下这次的记录名称,按下ESC键,之后输入:wq(一定要半角的,不然输入不了)


查看记录

git log

这个就能查看我们历史区的记录了,但是只能查看到指针之前的记录。

git log


git reflog

这个就可以查看到所有的记录了。

git reflog


版本穿梭

git reset --hard
回退

这个就是我们用来回退版本用的指令,其实就是改变HEAD指针的位置,然后文件直接会退到工作区。

# 回退到上一次
git reset --hard HEAD^
# 回退到多次前
git reset --hard HEAD^^
git reset --hard HEAD~2


打开工作区文件,会发现确实回到了第一次提交的代码。

穿梭

把HEAD改成之前版本的地址,就可以实现穿梭的操作,地址可以由git reflog查看。

git reset --hard 112154a


git reset --soft

这个是软复位,主要功能就是把文件退到暂存区,主要用来改记录名称和为了历史区的修改,接下来我来展示一下第二种功能。


可以看到,bug已经修复,然后历史区也是非常清晰的,没有两份提交记录。


git revert

这个其实也算是版本穿梭,与git reset 不同的地方就在于这个命令是重新创建一个新的记录,但是内容却是你想回退版本的内容。可以看到,版本其实回到了2版本,但是却是多加了一条记录,而且入云的时候,需要使用这种。

git revert HEAD


(三)Git——分支

分支概念

分支的话,就是把我们整个文件夹分成一个一个独立的区域。当你完成A功能的时候,你就可以开一个B功能的分支区去开发,而当A功能需要修复的时候,就不会影响到B功能的开发,等B功能开发完了之后,再合并在一起就可以了。

创建/删除分支

git branch

这个指令单独使用那就是查看当前分支。

git branch


要是在后面加上分支的名称,就可以创建分支了。

git branch second


要是在后面加上-d 和分支名称,就可以删除这个分支了。

git branch -d second


要是加上-a 就能查看所有的分支

git branch -a


跳转分支

git checkout

这个指令用来在各个分支跳转,后面加上分支名字就行。

git checkout second


然后在second里的提交什么的,是不会影响到master主分支的,其实就相当于把指针前移了一下,然后后续操作全在second这个工作区操作了,还是比较好理解的。

合并分支

git merge

这个命令用来合并各个分支,其实就是简单的把master指针移动到second分支上,没有什么不好理解的,但是在合并过程中可能会有冲突的情况,我们在后面慢慢分析。

git merge second


合并分支冲突

其实我们应该知道,在分支合并的时候还是比较容易出现冲突的,其中主要的原因就有在开发其他分支的时候主分支改变了。然后进行代码合并的时候,就会发现有两个地方改动了,这样就造成冲突,git就不知道怎么办了,这个时候就需要我们来手动合并了。



遇到这样的问题,我们只需要把多余的符号删掉,再到master里面提交一下就好了。当然,也可以使用一些软件来智能帮助我们解决冲突。


(四)Git——团队协作

这个团队协作就需要我们借助远端库了,这里我们借助的是Github,在此之前我们需要先去注册一下Github账号,在此就不做介绍了,比较简单。然后创建自己的仓库首先点击右上方的加号,点击New repository,然后取一个名字,创建就可以了。

推送

git remote add origin

git remote add origin https://github.com/xiaodian2/xdd_project.git

这个就是推送的指令,origin 代表的是后面这一大串的地址。

git remote -v

这个是查看我们origin代表的地址,关掉了Git,不想重新打过了。

git remote remove origin

git remote remove origin

这个就是删除origin代表的地址。

git push

git push origin master:master

这个就是把我们的主分支master推送到origin地址上的master上去,可以省略后面的:master。第一次推送的话,可能需要绑定你的账号,输入密码就行,然后,你就可以拥有一个自己的GitHub仓库了。

git push -u origin master

如果以后一直使用这个origin地址,那么这样就可以记录地址,以后就可以直接git put 了。


然后需要修改的话,先到本地修改,然后提交,非常不建议在远端库直接修改,就算是修改了,也要及时更新自己的代码。不然可能会导致代码冲突,就像分支合并那样,解决办法其实也是一样的。

git push -f

这个是强制推送,非常不建议使用,就当没学。

拉取

git pull

git pull origin master

这个就是从远端库拉取代码到我们本地.

克隆

git clone

git clone https://github.com/xiaodian2/xdd_project.git

这个就是用来克隆别人代码的,也就是白嫖别人的代码。


冲突

在团队协作中很容易出现冲突,主要分为两种。

第一种就是在修改不同的文件,当对方提交到了远端库之后,你要是再想提交你的代码,就必须要先拉取最新的代码,然后再提交你的代码。

第二种就是在修改同一个文件,当对方修改并提交到远端库之后,你想要去提交你的代码,这个时候别人提交的版本就会与自己的代码冲突,然后只能去拉取,这个时候就回到了合并分支冲突了,需要自己去决定保留谁的代码,然后再去推送。所以遇到这种情况,一般就需要提前协商好,

分支

如果想要获取对方的分支。操作其实和主分支差不多,首先提交分支,然后别人拉取回来,就可以直接使用了。提交也是和master一样的。

# 提交分支。
git push origin second
# 然后别人拉取回来
git pull origin second
# 别人切换到分支
git checkout second

删除分支

删除分支的原理就是推送一个空的分支到需要覆盖的分支上,这样就相当于删除了远端库的分支。

git push origin :bugfixed

跨团队

跨团队协作,首先需要把别人的项目fork下来,这样自己就有了这个项目,当你修改之后,就需要去提交pull request。然后对方通过一下就行。我没两个账号,就不展示了。

Gitee

和GitHub一样,就不介绍了。

标签:Git,origin,git,入门,--,文件夹,提交,入云,分支
From: https://blog.51cto.com/u_15909011/5928104

相关文章

  • 极客编程python入门-装饰器
    装饰器在函数调用前后自动打印日志,但又不希望修改now()函数的定义,这种在代码运行期间动态增加功能的方式,称之为“装饰器”(Decorator)。由于函数也是一个对象,而且函数对象可以......
  • 【转载】状压dp入门指引 by 高中时期的我自己
    原文链接目录-1.前言0.概述1.位运算(建议初学者认真研究,这是基础)2.常用的计算方法:(建议认真食用,灵活运用)重点:用二进制表示的集合的基本运算(有待补充)其他运算3.状......
  • 《MySQL必知必会》之快速入门存储过程
    使用存储过程本章介绍什么是存储过程,为什么使用、如何使用,并介绍如何创建和使用存储过程的基本语法存储过程在实际应用中,往往需要执行多个表的多条sql语句存储过程就......
  • Gin框架快速入门
    github地址:https://github.com/gin-gonic/gin初体验安装:$goget-ugithub.com/gin-gonic/gin简单实例:packagemainimport"github.com/gin-gonic/gin"func......
  • 如何解决 [email protected] permission denied (publickey). fatal could not read from
    出现这个问题是你电脑的本地没有去生成密钥,并且没有将生成的公钥设置在github上,所以会出现这样的问题。解决办法的链接:https://juejin.cn/post/7026188300218007560。......
  • appium环境搭建(从入门到放弃)
    一.appium环境搭建1.python3python3的下载安装这里就不多做介绍了,当然你也可以选择自己喜欢的语音,比如java....2.jdk1)下载地址官网(需登录账号):https://www.oracle.c......
  • GitHub Android 热门项目
    本文地址目录目录目录GitHub热门项目如何查看Android热门项目如何查看GitHub排行榜Android热门项目scrcpymaterial-design-iconsretrofitokhttparchitecture-samp......
  • Centons7+GitLab私有库
    引言:公司代码的管理不统一,一部分人用SVN,一部分人用Git,对于习惯了使用Linux或者Mac命令行的人来说,Git的操作更方便和快捷,GitHub如果不是开源项目的话是需要付费使用,所以选择......
  • 常用的git 指令
    常用的git指令 gitadd.gitconfig--globaluser.name"liu"gitconfig--globaluser.email"youremail"gitcommit-m"消息内容"Git常用操作命令:1) 远程......
  • Git rebase vs merge:应该用哪一个?
    目录背景已经有了gitmerge,为什么还需要gitrebase?一个不太妙的场景一个更不太妙的场景gitrebase派上用场什么时候用gitrebase?什么时候不能用gitrebase参考链接背......