git工具的使用

目录

一.git介绍

为什么要使用git,git能做什么

传统文档管理

源代码管理的好处

git工作流程图

二.git安装步骤(windows版)

三.使用

1.初始化仓库

2. git简单的初始化命令操作

1.在目录下随意新建一个文件

2.查看文件的状态

 配置个人信息

 3.文件状态的转变

将文件添加至暂存区

 将文件添加到仓库区中

 4.查看git日志

  5.版本回退

6.修改版本库中的文件

7. 撤销与修改

8.比较文件的不同

9.删除文件

3.git的远程操作

1.注册账号新建一个仓库

2.把本地项目上传到git服务器

 3.克隆仓库

4.从远程仓库拉取更新到本地

4.分支管理

1.创建分支

2.合并分支

1.提交

3.删除分支

git常用命令


一.git介绍

git是由Linux之父开发的,起初只是为了linux内核开发的方便,linux之父被逼无奈,花了两周时间使用c语言写了个git出来,直至2008年,github网站的上线,为无数开源项目免费提供git存储,git迅速成为了最流行的分布式版本控制系统

为什么要使用git,git能做什么

传统文档管理

大学改论文的时候,论文命名方式从论文.doc->论文_改1.doc->论文_改改改改.doc这种命名方式

git工具的使用_第1张图片

 就像这样子一样,当你使用过git之后,你可以非常简洁的管理你的所有版本的论文,在仓库区都有唯一的版本号,非常容易地进行版本控制功能。

源代码管理的好处

多人协同开发

在git中会有客户端与服务器之分,当多人协同开发的时候,就可以使用git服务器,所有人都可以使用本地git与服务端git进行通信,把自己完成的工作上传到git服务器上,从git服务器中下载所需要的内容。

版本控制

git的版本控制功能不仅仅局限于一个文件之中,同样可以对于整个文件夹,对于整个项目进行版本控制,通过分支的操纵灵活的完成大型项目的工作。

git工作流程图

 git工具的使用_第2张图片

二.git安装步骤(windows版)

1.从官网下载

Githttps://git-scm.com/2.双击打开一直点next即可,也可以进行自定义一些参数

3.在开始菜单中找到git bash的那个,打开

git工具的使用_第3张图片

4.成功喽 

三.使用

1.初始化仓库

我们可以新建一个文件夹,进去之后右键点击git bash where(在这里打开git)

git工具的使用_第4张图片

 输入命令git init

git工具的使用_第5张图片

后面有蓝色字体(master代表仓库的主分支,也是一个仓库最明显的特征) 

 初始化仓库之后会建立一个.git的隐藏文件,里面存储着版本控制的一些信息(不要动它,动谁都不要动这个文件

2. git简单的初始化命令操作

1.在目录下随意新建一个文件

$ touch readcoment.txt

2.查看文件的状态

$ git status

git工具的使用_第6张图片

 在git中,查看文件状态时,使用不同的颜色区别不同的状态,状态如何改变,请接着看

红色:工作区

绿色:暂存区

白色:仓库区

 配置个人信息

git工具的使用_第7张图片

 --global参数改变全局信息,如果不加这个参数,代表配置的是本项目的个人配置信息

配置个人信息是为了之后连接远程数据使用的一个身份,git本身就是为了团队合作写代码提高效率所开发的,所以git会有服务器端,就像是github,gitee一样。这些配置信息都会保存在.git下

 3.文件状态的转变

将文件添加至暂存区

$ add 目录或文件名

git工具的使用_第8张图片

 将文件添加到仓库区中

$ git commit -m "这是备注"

git工具的使用_第9张图片

 在git三个分区中,你一直工作在工作区中,当工作没有完成需要离开时,可以把手头的工作提交到暂存区,当工作彻底完成之后,再把整个项目提交到仓库区。提交至仓库区的时候,就代表此项任务已经完成,本次提交会对应一个版本号,用于版本控制等

 4.查看git日志

$ git log
$ git reflog

git工具的使用_第10张图片

reflog命令输出的内容比较简洁,并且可以查看到已经删除了的记录(推荐使用)

日志可以查看这个仓库在什么时间被谁干了什么事,便于项目出现问题是进行追踪问题。

  5.版本回退

git工具的使用_第11张图片

 每次使用git commit命令把暂存区的内容提交至仓库区中就会生成一个对应的版本号,如果那次提交之后整个项目不可以使用了,或者不满意可以使用以上命令进行版本的回退,使用reflog查看版本信息时head对应的就是当前最新版本,最前面的一串字符串表示版本号

 当然你现在只提交了一个版当然不可以无中生有呀,我们创建一个文件再提交一个版本,使用reflog

7284038表示是当前的版本号,想要改变为上一个版本可以使用以下命令,

git工具的使用_第12张图片

 此时在你文件夹下没有1.txt文件就会消失(谨慎操作)

6.修改版本库中的文件

如果你对文件readcoment.txt文件进行了修改,再去使用状态查看命令时

git工具的使用_第13张图片

 如果对已经提交的代码进行了修改的话,这些修改的文件会自动变为工作区状态,并且它会提示你怎么做可以把修改后的文件提交到仓库区

7. 撤销与修改

工作在工作区与暂存区之间(也就是说你这个任务没有完成的时候,没有提交到仓库区形成版本号的时候)

撤销暂存区的代码

 将暂存区代码撤销到工作区

git工具的使用_第14张图片

 撤销工作区代码

git工具的使用_第15张图片

也就是说通过reset HEAD,你可以把暂存区的内容保存至工作区,通过checkout可以清除工作区的内容,与版本库保持一致

8.比较文件的不同

对比仓库与工作区

$ git diff HEAD -- 文件名

git工具的使用_第16张图片

 

对比仓库上个版本与工作区

$ git diff HEAD HEAD^ -- 文件名
当工作区文件与仓库文件一致时,不返回任何内容,如果不一致则返回文件哪里不一致

9.删除文件

删除工作区中的文件

直接删除即可

删除暂存区的文件

# 先将暂存区代码撤回工作区
git reset HEAD 文件名
# 然后直接删除即可
rm 文件名

删除已提交到版本库的

# 直接删除文件
rm -rf 文件名
# 提交当前代码
git add .
#  提交当前代码到版本库
git commit -m "备注"

3.git的远程操作

要实现多人合作完成 一个项目,或者你从一个地方迁移到另一个地方去工作,代码迁移都可以通过git服务器去完成,国内推荐使用gitee,相比github访问要快不少。

1.注册账号新建一个仓库

进入gitee官网进行注册登录,登陆完成后点击右上角加号新建仓库,只需要填写一下仓库名称就好了,点击创建

git工具的使用_第17张图片

 git工具的使用_第18张图片

 创建完成

2.把本地项目上传到git服务器

# 关联远程git仓库地址
$ git remote add origin 复制的地址

# 把本地文件推送到远程
$ git push -u origin "分支名称"

刷新gitee仓库界面,可以看到刚刚的本地文件已经上传成功

git工具的使用_第19张图片

 3.克隆仓库

$ git clone https://gitee.com/caiahao6/caiahao_day01.git

这个方法仅限于把远程的整个项目copy到本地,需要仓库地址

4.从远程仓库拉取更新到本地

$ git pull origin master

使用场景,当你的同事做完他的工作后,你可以使用拉去更新,把同事的代码拉取到本地

4.分支管理

正常的开发项目中都是多人协作,每个人的任务一般不会一天就完成,如果把没有完成的代码提交到远程仓库会影响被人工作。git提供了分支的功能就不用担心了,可以创建一个自己的分支,在上面干活,想提交就提交,等到工作完成再一次性合并到原来的分支。

1.创建分支

新建git仓库时会默认创建一个分支`master`,它叫主分支。一般情况我们不会直接在主分支上干活,它主要用来发布版本。

创建一个开发分支`develop`

git branch develop

再切换到`develop`分支

git checkout develop
Switched to branch 'develop'

这两天命令也可以通过一条命令来实现

git checkout -b develop


 

`-b`参数表示创建并切换。

使用`git branch`命令查看当前分支

git branch
* develop
  master

2.合并分支

创建好`develop`分支后,你开始干活,完成上级领导交给你的任务,根据用户的手机壳颜色更换app主题,5分钟之后开发完毕

1.提交

$ git add change_theme.py

经过测试功能完成,现在我们要合并到`master`分支

首先切换到`master`

$ git checkout master
Switched to branch 'master'


 

查看工作区,你会发现刚才开发的功能文件没有了,不要惊慌,因为那个提交是在`develop`分支上,现在我们把`develop`分支的工作合并到`master`分支上:

$ git merge develop



 

`git merge`命令用于合并指定分支到当前分支。合并后,在查看文件夹发现,`change_theme.py`文件又回来了。

将分支上传到码云上:直接在分支中使用  git push -u origin develop

3.删除分支

合并完之后你也可以删除掉`develop`分支:

$ git branch -d develop


git push origin --delete develop


 

git常用命令

  • git init 初始化一个仓库 ,会将该目录下所有文件交给git管理

  • git status 查看当前版本管理状态

  • git add 文件1 文件2… 把有变化的文件(新增的、修改的、删除的) 添加到git暂存区里

    git add . 将所有改变的文件统一 加入到暂存区里

  • git rm --cached 文件1 文件2 把暂存区中的文件从暂存区移除

  • git commit -m ‘提交描述’

  • git restore 文件1 文件 2 … 放弃文件的改变

  • git log 查看提交历史

  • git reflog 查看命令历史

  • git reset --hard commitid 恢复到指定版本

  • git remote add origin https://gitee.com/nieps/javademo.git   将本地仓库与远程仓库建立联系
    
  • git push -u origin master 将本地代码推送到远程 首次推送

  • git push -f origin master 强制推送本地代码到远程

  • git remote 查看远程分支的名称

  • git remote -v 查看远程分支的名称及远程仓库的地址

  • git remote rm 远程分支名称 删除要本地仓库与远程仓库的关联关系

  • git pull niu master 拉取远程服务器代码

  • git clone 远程分支地址 将远程代码克隆到本地

  • git 命令 --help 查看命令帮助

  • git branch 查看当前的分支

  • git checkout -b 分支的名称 创建并切换到分支上

  • git switch -c 分支名称 创建并切换到分支上

  • git branch -d 分支名称 删除分支

    git branch 分支的名称 创建分支

    git checkout 分支的名称 切换分支

    • git merge 分支名称 将分支中的内容合并到当前分支

    • git switch 分支名称 切换到分支上

    • git tag 标签名 创建一个标签 默认该标签指向最新的commitid

    • git tag 查看所有标签

    • git tag 标签名 commitid 给指定的commit打标签

    • git tag -d 标签名 删除标签

    • git push 远程分支名称 标签名 将指定标签推送到远程

    • git push 远程分支名称 --tags 将所有标签推送到远程

      删除远程标签:

      1. 先删除本地 git tag -d 标签名
      2. 删除远程 git push 远程分支名称 :/refs/tags/标签名
    • git push origin(远程分支名称) 本地分支:远程分支 将本地的分支推送到远程分支

      git branch -d 删除本地分支

      git push origin(远程分支名称) --delete 远程仓库分支名称

你可能感兴趣的:(DJango专栏,git)