ToB企服应用市场:ToB评测及商务社交产业平台

标题: git学习笔记 [打印本页]

作者: 滴水恩情    时间: 2024-8-2 11:04
标题: git学习笔记
Git简介

什么是Git

   Git 是最流行的分布式版本控制系统(Distributed Version Control System,简称 DVCS)。它由 Linus Torvalds 创建,当时非常需要一个快速、高效和大规模分布式的源代码管理系统,用于管理 Linux 源代码。由于 Linus 对险些所有现有的源代码管理系统抱有猛烈的反感,因此他决定编写自己的源代码管理系列。2005 年 4 月,Git 就诞生了。到了 2005 年 7 月,维护工作就交给了 Junio Hamano,自此他就不停在维护这个项目。虽然最初只用于 Linux 内核,但 Git 项目敏捷传播,并很快被用于管理许多其他 Linux 项目。如今,险些所有的软件开发,尤其是在开源天下中,都是通过 Git 进行的。
  git作为分布式代码版本管理控制系统在软件开发中扮演着非常紧张的脚色,它不仅可以保障代码的完整性和稳定性,进步软件开发服从,还可以进步软件产品的质量和可维护性。
什么是分布式版本管理


怎样使用Git




  1. # 显示当前的Git配置
  2. $ git config --list
  3. # 编辑Git配置文件
  4. $ git config -e --global
  5. # 设置提交代码时的用户信息,将global选项换成local选项时,设置仅对当前仓库生效
  6. $ git config --global user.name "[name]"
  7. $ git config --global user.email "[email address]"
复制代码
由于Git是分布式版本控制系统,所以一定需要填写用户名和邮箱作为一个标识。有了这个git config --global参数,表现你这台机器上所有的Git堆栈都会使用这个配置,当然你也可以使用git config --local对某个堆栈指定的不同的用户名和邮箱。Git 初次安装必须设置一下用户署名,否则无法提交代码
至此,Git的安装和根本配置已经完毕。
Git底子知识

Git工作空间


下图展示了工作区、暂存区和版本库之间的关系:

上图中左侧为工作区,右侧为版本库(暂存区在版本库中)。
在版本库中标志为 index的地区是暂存区(stage/index),标志为 master 的是 master 分支所代表的目次树。
图中 HEAD 实际是指向 master 分支的一个“游标”,所以图示的命令中出现 HEAD 的地方可以用 master 来替换。
图中的 objects 标识的地区为 git 的对象库,实际位于 .git/objects 目次下。

Git根本语法

创建Git堆栈

下表列出了创建Git堆栈的命令
命令说明git init初始化Git堆栈git clone克隆远程Git堆栈到本地 这里有两种方式创建Git堆栈

  1. # 在当前目录下创建一个新的Git仓库
  2. git init
  3. # 在指定目录下创建一个新的Git仓库
  4. git init <path>
复制代码

  1. # 克隆<url>仓库内容在当前目录
  2. git clone <url>
  3. # 克隆<url>仓库内容在指定<dir_name>目录
  4. git clone <url> <dir_name>
复制代码

使用发起:git clone将远程堆栈克隆到本地,由于是克隆来的,因此会将远程堆栈中的.git堆栈一起克隆下来,可以省去在本地进行git init的操纵。当第一次新建代码库时,发起使用git clone。
文件提交与修改

下表列出了Git有关文件提交与修改的命令
命令说明git add添加文件到暂存区git rm将文件从暂存区和工作区中删除git commit提交暂存区到本地堆栈git mv移动或重定名工作区文件git reset/git revert回退版本
  1. # 添加指定文件<file1> <file2>到暂存区
  2. $ git add <file1> <file2> ...
  3. # 添加指定后缀的文件到暂存区
  4. $ git add *.h *.c
  5. # 添加指定目录到暂存区,包括子目录
  6. $ git add <dir>
  7. # 添加当前目录的所有文件到暂存区
  8. $ git add .
  9. # 也可以使用
  10. $ git add --all
  11. # 添加每个变化前,都会要求确认
  12. # 对于同一个文件的多处变化,可以实现分次提交
  13. $ git add -p
复制代码

  1. # 删除工作区文件,并且将这次删除放入暂存区
  2. $ git rm <file1> <file2> ...
  3. #将修改过并且已经放到暂存区的文件删除的话,则必须要用强制删除选项
  4. $ git rm -f <file1> <file2> ...
  5. # 停止追踪指定文件,但该文件会保留在工作区
  6. $ git rm --cached <file>
复制代码

  1. # 提交暂存区到仓库区,<message>是一些备注信息
  2. $ git commit -m <message>
  3. # 提交暂存区的指定文件到仓库区
  4. $ git commit [file1] [file2] ... -m <message>
  5. # -a 参数设置修改文件后不需要执行 git add 命令,直接来提交
  6. $ git commit -a
复制代码

  1. $ git mv <file-original> <file-renamed>
  2. #如果改文件名已经存,想要强制覆盖可以使用
  3. $ git mv -f <file-original> <file-original>
复制代码

revert工作流程图如下所示:

分支操纵

下表列出了Git有关分支操纵的命令
命令说明git branch创建,查看等分支操纵git checkout切换分支git merge/rebase归并分支
  1. # 列出所有本地分支
  2. $ git branch
  3. # 列出所有远程分支
  4. $ git branch -r
  5. # 列出所有本地分支和远程分支
  6. $ git branch -a
  7. # 新建一个分支,但依然停留在当前分支
  8. $ git branch <branch-name>
  9. # 新建一个分支,并切换到该分支
  10. $ git checkout -b <branch>
  11. # 新建一个分支,指向指定commit
  12. $ git branch <branch> <commit>
  13. # 新建一个分支,与指定的远程分支建立追踪关系
  14. $ git branch --track <branch> <remote-branch>
复制代码

远程操纵

下表列出了Git有关分支操纵的命令
命令说明git push创建,查看等分支操纵git pull/fetch切换分支
  1. #  取回指定远程仓库分支到本地分支
  2. git push <remote> <remote_branch>:<local_branch>
复制代码

Git进阶

git开发过程中常用的分支先容

master 为主分支,也是用于部署生产情况的分支,确保master分支稳定性, master 分支一般由develop以及hotfix分支归并,任何时间都不能直接修改代码
develop 为开发分支,始终保持最新完成以及bug修复后的代码,一般开发的新功能时,feature分支都是基于develop分支下创建的。
git提交格式规范

规范格式:<type>: <subject>
type:标识本次提交的类型,如

subject: 提交目的的简短形貌,形貌做了啥或者改了啥,假如有团队管理工具(issue ,JIRA)或者产品需求,必须以内部定名的需求代号作为形貌信息的一部分,方便查看日志。
远程堆栈

远程堆栈运营商

Github

Github 是一个基于git实如今线代码托管的堆栈,向互联网开放,共有堆栈免费,建立私有堆栈要收费,由于Github的初志就是为了各人共享自己的劳动成果。
Gitee

Gitee 即码云,是 oschina 免费给企业用的,不用自己搭建情况可以建立自己的私有堆栈。是由开源中国社区推出的基于git的代码托管服务平台。目前招商银行,中国科学技术大学,CSDN等多家企业和机构都在使用码云平台。
本节将先容Gitee平台下的新建分支堆栈代码上传。
gitee的使用

SSH方法与远程堆栈建立连接


免责声明:如果侵犯了您的权益,请联系站长,我们会及时删除侵权内容,谢谢合作!更多信息从访问主页:qidao123.com:ToB企服之家,中国第一个企服评测及商务社交产业平台。




欢迎光临 ToB企服应用市场:ToB评测及商务社交产业平台 (https://dis.qidao123.com/) Powered by Discuz! X3.4