Git教程

目录

一:Git是什么?

二:理解工作区与暂存区的区别?

三:如何安装git

四:全局配置

五:Git本地仓库操作

版本回退

六:Git与远程仓库交互

七:创建与合并分支

八:工作使用Git


预警:仅供新手上手需要。

狂神聊Git课程,通俗易懂,欢迎各位狂粉转发关注学习,拒绝白嫖,从我做起。

未经作者授权,禁止转载

一:Git是什么?

Git是目前世界上最先进的分布式版本控制系统(没有之一)

工作原理/流程:

Workspace:工作区
Index / Stage:暂存区
Repository:仓库区(或本地仓库)
Remote:远程仓库

Git是分布式版本控制系统,那么它就没有中央服务器的,每个人的电脑就是一个完整的版本库,这样,工作的时候就不需要联网了,因为版本都是在自己的电脑上。既然每个人的电脑都有一个完整的版本库,那多个人如何协作呢?比如说自己在电脑上改了文件A,其他人也在电脑上改了文件A,这时,你们两之间只需把各自的修改推送给对方,就可以互相看到对方的修改了。

二:理解工作区与暂存区的区别?


工作区:就是你在电脑上看到的目录,比如目录下testgit里的文件(.git隐藏目录版本库除外)。或者以后需要再新建的目录文件等等都属于工作区范畴。
版本库(Repository):工作区有一个隐藏目录.git,这个不属于工作区,这是版本库。其中版本库里面存了很多东西,其中最重要的就是stage(暂存区),还有Git为我们自动创建了第一个分支master,以及指向master的一个指针HEAD。
我们前面说过使用Git提交文件到版本库有两步:
第一步:是使用 git add 把文件添加进去,实际上就是把文件添加到暂存区。
第二步:使用git commit提交更改,实际上就是把暂存区的所有内容提交到当前分支上。
 


三:如何安装git

https://git-scm.com/

因为Git是分布式版本控制系统,所以需要填写用户名和邮箱作为一个标识。
注意:git config --global 参数,有了这个参数,表示你这台机器上所有的Git仓库都会使用这个配置,当然你也可以对某个仓库指定的不同的用户名和邮箱。


四:全局配置

git config global user.name "zengmumu"
git config global user.email "zengmumu@126.com"

顾名思义,这是设置你的名字和Email地址。

$ git config --global user.name "Your Name"
$ git config --global user.email "email@example.com"

这样也就完成了对Git用户名和邮箱的配置。
 

五:Git本地仓库操作

创建版本库

版本库(repository)也叫仓库,可以看做一个目录,这个目录里的所以文件都由Git进行管理,每个文件的修改、删除,Git都能跟踪。

1.选择一个合适的地方,创建一个空目录:
 

$ mkdir learngit //创建一个名叫learngit的空目录
$ cd learngit //把learngit设置为当前目录
$ pwd //查看当前目录
/c/Users/Administrator/learngit

如果使用Windows系统,要保证目录名不包含中文。

2.通过如下命令把这个目录变成Git可以管理的仓库:
 

$ git init
Initialized empty Git repository in /Users/Administrator/learngit/.git/

这样Git就把仓库建好啦,我们可以看到在当前目录下多了一个 .git 的目录,这个目录是Git来跟踪管理版本库的。


3.把文件添加到版本库

我们在 learngit 目录下编写一个 readme.txt 文件,内容如下:
 

Git is a version control system.
Git is free software.

(1) 用 git add 命令,把文件添加到仓库:

$ git add index.txt

执行以上命令,没有任何显示。

(2) 用 git commit 命令,把文件提交到仓库
 

$ git commit -m "zzz" //-m后面输入的是本次提交的说明,可以输入任意内容。

运行 git status 命令:

$ git status //查看仓库当前的状态
On branch master
Changes not staged for commit: //没有文件将要被提交
  (use "git add <file>..." to update what will be committed)
  (use "git checkout -- <file>..." to discard changes in working directory)
 
    modified:   readme.txt
 
no changes added to commit (use "git add" and/or "git commit -a")

版本回退

如果我们继续对index.txt 文件进行修改,改成如下内容:

$ git reset --hard HEAD^ //HEAD表示当前版本,则HEAD^表示上一个版本,
那么回退两个版本就是HEAD^^

我们现在想要回到最新的版本,还是使用 git reset 命令:

$ git reset --hard 1094a //这里不能用HEAD而必须使用 commit id ,因为最新版本在之前返回时已经被删除了,1094a就是最新版本的 commit id,可以在之前的代码中查到
HEAD is now at 83b0afe append GPL

git reset --hard 版本号

这时再查看一下 index.txt 文件内容:

$ cat readme.txt
Git is a distributed version control system.
Git is free software distributed under the GPL.

果然,又回到了最新的版本

六:Git与远程仓库交互

01 gitee 创建一个空私人仓库

在开始这部分之前,我们需要自行注册Git账号。而且,因为你的本地Git仓库和远程GitH仓库之间的传输是通过SSH加密的,所以需要设置:

(1) 创建SSH Key。在用户主目录下,看看有没有.ssh 目录,如果有的话,看此目录下有没有 id_rsa 和 id_rsa.pub 这两个文件,如果有,直接跳到下一步。如果没有,打开Git Bash,创建SSH


 02  cd /mygit   
切换到本地

03  
git remote add origin xxxx.git
添加远程仓库

04 
git add .
git commit -m "创建一个版本"

05
git push -u origin master

七:创建与合并分支

在 版本回填退里,你已经知道,每次提交,Git都把它们串成一条时间线,这条时间线就是一个分支。截止到目前,只有一条时间线,在Git里,这个分支叫主分支,即master分支。HEAD严格来说不是指向提交,而是指向master,master才是指向提交的,所以,HEAD指向的就是当前分支。

首先,我们来创建dev分支,然后切换到dev分支上。如下操作:

git checkout 命令加上 –b参数表示创建并切换,相当于如下2条命令

git branch dev

git checkout dev

git branch查看分支,会列出所有的分支,当前分支前面会添加一个星号。然后我们在dev分支上继续做demo,比如我们现在在readme.txt再增加一行 7777777777777

首先我们先来查看下readme.txt内容,接着添加内容77777777,如下:

 现在dev分支工作已完成,现在我们切换到主分支master上,继续查看readme.txt内容如下:

现在我们可以把dev分支上的内容合并到分支master上了,可以在master分支上,使用如下命令 git merge dev 如下所示:

 

git merge命令用于合并指定分支到当前分支上,合并后,再查看readme.txt内容,可以看到,和dev分支最新提交的是完全一样的。

总结创建与合并分支命令如下:

查看分支:git branch

创建分支:git branch name

切换分支:git checkout name

创建+切换分支:git checkout –b name

合并某分支到当前分支:git merge name

删除分支:git branch –d name
 

八:工作使用Git


不墨迹直接上代码:
知道如何生成SSH KEY
知道know_hosts文件路径在哪儿
loading…
项目经理:
(1)项目经理搭建项目的框架。
(2)搭建完项目框架之后,项目经理把项目框架代码放到服务器。

普通员工:
(1)在自己的电脑上,生成ssh公钥,然后把公钥给项目经理,项目经理把它添加的服务器上面。
(2)项目经理会给每个组员的项目代码的地址,组员把代码下载到自己的电脑上。
(3)创建本地的分支dev,在dev分支中进行每天的开发。
(4)每一个员工开发完自己的代码之后,都需要将代码发布远程的dev分支上。

项目里一般会有两个分支,如:
Master:用于保存发布的项目代码。
Dev:用于保存开发过程中的代码。所有的组员开发完自己的代码提交到该分支上。
补充小技巧:
首先,整体认知一下工作中git常用的就这么几个命令:
步骤1.创建项目目录,如git_test【强烈建议返回到2.安装配置一节,学一学在windows中用mkdir git_test。工作中点来点去,文件夹一多就不爽了,学会在windows上用linux命令,工作效率谁用谁知道~】
步骤2.git init【如果你考皮github上别人的代码,必须将别人的.git文件删掉。步骤:进入项目目录,如git_test,cd git_test,ls -al,rm -rf .git】【工作中linux必会的,赶快回到2.安装配置一节,学一学在windows使用linux命令,这样就不用装linux环境了,简单胜于复杂~】
步骤3.git add .
步骤4.git commit -m “整体提交”
步骤5.git remote add origin/github URL
add 后面的名字可以是【origin/github】
URL是【你的github/gitlab仓库地址】
步骤6.git checkout -b dev
步骤7.git push origin/github dev
步骤8:权限控制允许了吗?
 

附赠:git 常用命令

 

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

打赏作者

码农阿茹

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

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

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

打赏作者

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

抵扣说明:

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

余额充值