git的基本用法和github管理项目

1.认识git

首先我们要知道 git分为三个区 —— 工作区 、 暂存区 和 git仓库 , Git的作用主要是协同多人开发,方便管理。

git的基本用法和github管理项目61.png

2.  如何安装git

下载地址:https://git-scm.com/download/win

 

对于初学者来说,安装一直next下去就好了(当然安装位置可以自己设定)

然后配置一下用户信息,git是分布式管理工具,所以我们当然要自报一下家门

git的基本用法和github管理项目183.png

查看配置是否成功

git的基本用法和github管理项目195.png

如果找到下面信息就代表修改成功

git的基本用法和github管理项目213.png

 

更好用的傻瓜式管理工具

 

我学习的视频老师推荐了一款git图形界面Sourcetree,官方下载地址: https://www.sourcetreeapp.com/ ;但是因为安装需要注册帐号,由于国内访问不了因此下载破解版,破解地址http://www.xue51.com/soft/5512.html

3.  git的常用命令(必须了解)

基本命令:

git init初始化版本库

git add .将想要快照的内容写入缓存区

git commit 或者git commit -m “ 输入本次更新的描述 ”   将缓存区内容添加到仓库中

git status查看仓库状态

其他命令:

pwd:显示我当前的目录

ll:展现我文件的权限信息

ls:显示当前目录下的文件

cd ..:前往上级目录

mkdir:创建文件目录

cat 文件名 :展现文件内容

特殊情况 >特殊命令:

1.从暂存区回退到未暂存区命令如下

案例:

准备下班了,产品经理突然让你改一个东西,你加班改好将其提交到暂存区就回家了(不能提交到仓库,因为没有测试),第二天,产品经理和你讲,这个修改不需要修改了,那么就要把暂存区的文件退回到未暂存区

命令:

git reset head 文件名

git checkout --文件名

含义:

将暂存区文件回退到未暂存区

checkout是测底回退

可以使用git status 查看是否干净,干净则表示回退成功

2.从提交回退到上一版本

案例:

产品经理让你修改的东西你提交到了本地仓库了,突然产品经理和你讲,这个修改没有必要,那么整个程序你就要回退到上一个版本才行(注意:每次提交的commit都要写)

 

命令:

git log

含义:查询commit编号,复制回退版本的编号

git --hard 编码

含义:本地仓库回滚到该版本

git的基本用法和github管理项目1029.png

使用git status 查看是否干净,干净则表示成功

我们既要知道回到过去,也要知道怎么回到未来

git reflog查看日记文件

复制要回到的前面的代码段

git的基本用法和github管理项目1111.png

通过git reset --hard 代码段

3.把本地仓库清理干净(某文件或者全部)

2,如果这个修改是全新的文件(以上各版本相比),那么你可以将这个文件清理掉,先清理掉文件,然后还是要commit一次,生成新的版本

命令:

git  rm 文件名

git的基本用法和github管理项目1240.png

但是未暂存区和暂存区没有清空,可以通过git status查看

通过git commit -m “ delete 文件名 ” 提交一下就好了

 

 

4.简单的工作流程介绍

4.1 查看当前状况

git status

4.2 把工作区文件添加到暂存区,比如存在hello.phptest.php文件

git add hello.php

git add test.php

如果是添加全部则

git add .

4.3随时查看当前状态,是否添加到暂存区成功

git status

4.4 把暂存区文件添加到仓库

git commit -m "提交描述"

4.5查看状态,是否为空

git status

5.具体 实战操作 流程介绍

5.1初始化Git

5.1.1初始化用户信息

git前,必须初始化一下

1 ) 设置用户名

git config --global user.name 'mtdgclub'

2 ) 设置用户邮箱

git config --global user.email '747245429@qq.com'

3 ) 查看设置

git config --list

 

5.1.2 初始化新的Git仓库

1 ) 创建文件夹

mkdir 文件名

如:mkdir test

就是在当前目录下创建一个test文件

 

2 ) 在文件内初始化git(创建git仓库)

如:

cd test

git init

 

3) 向仓库添加文件

创建文件

touch text.php

5.1.3提交一次git仓库

git status

git add text.php

git status

git commit -m "add text.php"

git status

5.2 修改仓库文件

git status

vi test.php

进入编辑器后,我们先按"I”,即切换到“插入”状态 , 然后进行修改

 

如何保存并 退出

这时,我们要按键盘左上角的"ESC"

然后这时,我们输入“冒号”,即":"(不需双引号),在下方会出现冒号,等待输入命令,

我输入的是WQ。功能如下。

Wwrite,写入

Qquit,退出

再回车,就保存退出了

 

其实,保存退出还有二个方法:

第一种 :在最后输入命令时,直接输入"x",也是一样的,即X=WQ

第二种 :最快捷的方法:按了ESC后,直接按shift+zz,或者切换到

大写模式按ZZ,就可以保存退出了,即是按2下大写的Z

 

5.3提交修改后的文件

在命令内查看文件内内容命令为

cat test.php

然后再次输入

git status

当看到红色modified,表示文件 已经 修改 了

 

然后再把工作区文件添加到暂存区,再把暂存区文件添加到仓库

git add test.php

git status

git commit -m "add second text.php"

git status

5.4删除仓库某文件

删除仓库文件

rm -rf test.php

 

git中删除文件

git rm test.php

 

提交操作

git commit -m '删除test.php文件'

 

查看当前状况

git status

 

 

6. git远程仓库管理 github为例

使用目的:

备份,实现代码共享集中化管理

 

使用准备:

先上网注册github帐号,建立好一个新的项目; 接下来,我们需要先下载Git 在桌面右键, 双击打开Git Bash

 

远程仓库与本地仓库连接:

创建SSH Key

命令: ssh-keygen -t rsa -C “ 747245429@qq.com ”

在黑窗口输入上面的命令,然后回车,输入Y,生成后在cd .ssh/下查找

git的基本用法和github管理项目2770.png

 

在本地仓库上获取公钥,命令:cat id_ras.pub

git的基本用法和github管理项目2802.png

 

然后将上述公钥拷贝到githubsetting->SSH and GPG KEYS(新建一个key)

 

完成上诉操作后通过命令ssh -t git@github.com查看是否与github有链接

git的基本用法和github管理项目2953.png

 

根据步骤实现上传

第一步: 拉取远程仓库文件

cd进入你放项目文件的地址,我的地址在D:\MYFILE\graduation\study\项目程序

然后输入

$ git remote add origin https://自己的仓库url地址

$ git pull origin master //先把远程服务器github上面的文件拉下来

 

第二步: 初始化本地git

输入git init

这个意思是在当前项目的目录中生成本地的git管理(会发现在当前目录下多了一个.git文件夹)

git的基本用法和github管理项目3225.png

第三步: 上传仓库文件

输入git add .     

这个是将项目上所有的文件添加到仓库中的意思,如果想添加某个特定的文件,只需把. 成这个特定的文件名即可。

git的基本用法和github管理项目3335.png

第四步:提交本次上传的备注

输入git commit -m "first commit",表示你对这次提交的注释,双引号里面的内容可以根据个人的需要修改。

git的基本用法和github管理项目3442.png

这里如果出现以下内容,则需要你输入自己的账号或名字

git的基本用法和github管理项目3500.png

用上面提示的代码输入自己的邮箱或名字

 

再输入 git commit -m "first commit"时就会成功

 

第五步:连接远程仓库

输入git remote add origin https://自己的仓库url地址

 

最后一步:提交到远程仓库

输入git push -u origin master,这是把代码上传到github仓库的意思。

 

 

7.  克隆远程仓库

命令:$ git clone git@github.com:XXXX(用户名)/xxxx(项目名)

 

8.  仓库标签管理

git的基本用法和github管理项目3744.png

 

注意:标签一般是输入版本号,可以通过版本号找到贴上该标签时候的程序文件

 

 

9.  分支管理

分支的意思是,你要和别人合作,有个新的需求,但是你只完成了50%的代码,你不可能把这50%的代码上传到仓库上,那么你就需要使用分支进行开发,分支只有你能够看得到,当你开发完成后就将分支进行合并.

 

9.1创建分支命令

git branch 分支名称

 

9.2查看分支命令

git branch

注意:*号表示你当前在哪个分支上

 

9.3切换个分支命令

git checkout 分支名

 

然后就能实现新的需求

 

9.4合并分支具体操作步骤

合并到master分支上

首先要切换到你要合并的master的分支上

git checkout master

然后通过

git merge 要合并的分支名

就能实现分支的合并

 

最后记得删除这个分支git branch -d 分支名,保证分支的干净整洁

 

 

10.多人合作的一些经验介绍

10.1多用客户端和工具,少用命令行,除非是在Linux服务器上直接开发

10.2每次提交前,都要diff自己的代码,以免提交错误代码

10.3下班回家前,整理好自己的工作区(那些留下来,那些需要清除)

10.4并行的项目,使用分支开发

10.5遇到冲突时候,要搞明白冲突的原因,千万不要随意丢弃别人代码

10.6产品发布以后记得打tag,方便将来拉取分支对bug进行修补

 

11.什么是gitfolw工作流

11.1具体介绍

git的基本用法和github管理项目4368.png

上图左侧的具体含义介绍如下:

master分支是存储了正式发布的历史

hotfix分支是对出现bug紧急修复的分支(维护分支)

release分支是准备发布分支(没问题就能够提交到主分支上)

develop分支是功能收集的分支,围绕这条而往前推进版本更新

featuredevelop的分支(项目经理将任务交给不同的人去做)

 

 

11.2功能分支develop

开发时,将develop分支作为父分支,切忌随意修改主分支Master,每个新功能位于一个自己的Feature分支里,当新功能完成后合并回develop分支, 新功能提交应该从不直接与master分支交互

 

11.3发布分支release

develop分支为父分支,该分支只应该做bug修复、文档生成和其他面向分布的任务;发布完成后,应该合并到master分支上和develop分支上,并打好tag

 

11.4维护分支hotfix

唯一可以从master分支fork出来的分支,是对发布完成后未检测的bug进行修复操作,修复完成应该马上合并到master分支上和develop分支上,并打好tag

 

 

12. 常见操作和常见错误 处理集合

12.1错误1:连接远程仓库错误

如果输入$ git remote add origin  git@github.com:github帐号名)/(项目名).git  

提示出错信息:fatal: remote origin already exists.

    解决办法如下:

    1、先输入$ git remote rm origin

    2、再输入$ git remote add origin  git@github.com:github帐号名)/(项目名).git  就不会报错了!

   3、如果输入$ git remote rm origin 还是报错的话,error: Could not remove config section 'remote.origin'. 我们需要修改gitconfig文件的内容

4、找到你的github的安装路径,我的是

C:\Users\ASUS\AppData\Local\GitHub\PortableGit_ca477551eeb4aea0e4ae9fcd3358bd96720bb5c8\etc

   5、找到一个名为gitconfig的文件,打开它把里面的[remote "origin"]那一行删掉就好了!

 

12.2错误2:远程仓库与本地仓库连接错误

如果输入$ ssh -T  git@github.com
出现错误提示:Permission denied (publickey).因为新生成的key不能加入ssh就会导致连接不上github

    解决办法如下:

    1、先输入$ ssh-agent,再输入$ ssh-add ~/.ssh/id_key,这样就可以了。

    2、如果还是不行的话,输入ssh-add ~/.ssh/id_key 命令后出现报错Could not open a connection to your authentication agent.解决方法是keyGit Guissh工具生成,这样生成的时候key就直接保存在ssh中了,不需要再ssh-add命令加入了,其它的usertoken等配置都用命令行来做。

    3、最好检查一下在你复制id_rsa.pub文件的内容时有没有产生多余的空格或空行,有些编辑器会帮你添加这些的。

12.3错误3:提交到仓库发生错误

如果输入$ git push origin master

提示出错信息:error:failed to push som refs to .......

    解决办法如下:

    1、先输入$ git pull origin master //先把远程服务器github上面的文件拉下来

    2、再输入$ git push origin master

    3、如果出现报错 fatal: Couldn't find remote ref master或者fatal: 'origin' does not appear to be a git repository以及fatal: Could not read from remote repository.

    4、则需要重新输入$ git remote add origin   git@github.com:djqiang/gitdemo.git

13.内容补充

13.1 使用git在本地创建一个项目的过程

$ makdir ~/hello-world    //创建一个项目hello-world
    $ cd ~/hello-world       //打开这个项目
    $ git init             //初始化 
    $ touch README
    $ git add README        //更新README文件
    $ git commit -m 'first commit'     //提交更新,并注释信息“first commit”
    $ git remote add origin  git@github.com:defnngj/hello-world.git      //连接远程github项目  
    $ git push -u origin master     //将本地项目更新到github项目上去

13.2   github 生成 个人网站

13 . 2.1 创建个人站点

第一种方法: 新建仓库

1 ) 仓库名必须为【用户名.github.io

2 ) 在仓库下,新建index.html文件即可

第二种方法:github设置项

1)进入项目主页,点击settings

2)在settings页面,点击【Launch automatic page generator】来自动生成主题页面

3)新建主题信息访问路径:用户名.github.io/项目名

13.3  gitconfig配置文件 解读

         Git有一个工具被称为git config,它允许你获得和设置配置变量;这些变量可以控制Git的外观和操作的各个方面。这些变量可以被存储在三个不同的位置: 
         1./etc/gitconfig 文件:包含了适用于系统所有用户和所有库的值。如果你传递参数选项’--system’ git config,它将明确的读和写这个文件。 
         2.~/.gitconfig 文件 :具体到你的用户。你可以通过传递--global 选项使Git 读或写这个特定的文件。
         3.位于git目录的config文件 (也就是 .git/config) :无论你当前在用的库是什么,特定指向该单一的库。每个级别重写前一个级别的值。因此,在.git/config中的值覆盖了在/etc/gitconfig中的同一个值。
        Windows系统中,Git$HOME目录中查找.gitconfig文件(对大多数人来说,位于C:\Documents and Settings\$USER下)。它也会查找/etc/gitconfig,尽管它是相对于Msys 根目录的。这可能是你在Windows中运行安装程序时决定安装Git的任何地方。

        配置相关信息:

        2.1 当你安装 Git 后首先要做的事情是设置你的用户名称和 e-mail 地址。这是非常重要的,因为每次 Git 提交都会使用该信息。它被永远的嵌入到了你的提交中:

  $ git config --global user.name "John Doe"

  $ git config --global user.email  johndoe@example.com

       2.2    你的编辑器 (Your Editor)

  现在,你的标识已经设置,你可以配置你的缺省文本编辑器, Git 在需要你输入一些消息时会使用该文本编辑器。缺省情况下, Git 使用你的系统的缺省编辑器,这通常可能是 vi  或者  vim 。如果你想使用一个不同的文本编辑器,例如 Emacs ,你可以做如下操作:

  $ git config --global core.editor emacs

      2.3 检查你的设置(Checking Your Settings)

  如果你想检查你的设置,你可以使用  git config --list  命令来列出 Git 可以在该处找到的所有的设置 :

  $ git config --list

      你也可以查看Git认为的一个特定的关键字目前的值,使用如下命令 git config {key}:

  $ git config user.name

      2.4 获取帮助(Getting help)

  如果当你在使用 Git 时需要帮助,有三种方法可以获得任何git命令的手册页 (manpage) 帮助信息 :

  $ git help <verb>

  $ git <verb> --help

  $ man git-<verb>

  例如,你可以运行如下命令获取对 config 命令的手册页帮助 :

  $ git help config

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值