zoukankan      html  css  js  c++  java
  • GIT快速入门

     Git理论基础

    1.1、工作区域

    Git本地有三个工作区域:工作目录(Working Directory)、暂存区(Stage/Index)、资源库(Repository或Git Directory)。如果在加上远程的git仓库(Remote Directory)就可以分为四个工作区域。文件在这四个区域之间的转换关系如下:

    • Workspace:工作区,就是你平时存放项目代码的地方
    • Index / Stage:暂存区,用于临时存放你的改动,事实上它只是一个文件,保存即将提交到文件列表信息
    • Repository:仓库区(或本地仓库),就是安全存放数据的位置,这里面有你提交到所有版本的数据。其中HEAD指向最新放入仓库的版本
    • Remote:远程仓库,托管代码的服务器,可以简单的认为是你项目组中的一台电脑用于远程数据交换

    1.2、工作流程

    git的工作流程一般是这样的:

    1、在工作目录中添加、修改文件;

    2、将需要进行版本管理的文件放入暂存区域;

    3、将暂存区域的文件提交到git仓库。

    因此,git管理的文件有三种状态:已修改(modified),已暂存(staged),已提交(committed)

    Git操作

    2.1:创建工作目录与常用指令

    工作目录(WorkSpace)一般就是你希望Git帮助你管理的文件夹,可以是你项目的目录,也可以是一个空目录,建议不要有中文。

    日常使用只要记住下图6个命令:

    2.2:git clone或git init(获得GIT仓库)

    创建本地仓库的方法有两种:一种是创建全新的仓库,另一种是克隆远程仓库

    方法一:获取远程仓库,clone代码

    把远程仓库的代码clone到本地:

    git clone https://......

    查看当前的git仓库状态,可以使用git status:

    git status

    如果是在刚才新建的文件夹输入git status会出现下图1所示,git目录不对;先用cd 命令切换到yoyoketang这个repository目录,再输入git status可以看到On branch master,这个说明已经在master分支上了

    方法二:创建全新仓库

    需要用GIT管理的项目的根目录执行:
    # 在当前目录新建一个Git代码库
    git init

    执行后可以看到,仅仅在项目目录多出了一个.git目录,关于版本等的所有信息都在这个目录里面。

    新建一个目录,将其初始化为Git代码库:

    git init [project-name]

    2.3、add(把文件添加到暂存区)

    2.3.1、添加文件与目录

    工作区(Working Directory)就是你在电脑里能看到的目录。

    版本库(Repository)工作区有一个隐藏目录.git,这个不算工作区,而是Git的版本库。

    Git的版本库里存了很多东西,其中最重要的就是称为stage(或者叫index)的暂存区,还有Git为我们自动创建的第一个分支master,以及指向master的一个指针叫HEAD

    将untracked状态的文件添加到暂存区,语法格式如下:

    # 添加指定文件到暂存区
    $ git add [file1] [file2] ...
    
    # 添加指定目录到暂存区,包括子目录
    $ git add [dir]
    
    # 添加当前目录的所有文件到暂存区
    $ git add .

    2.3.2、移除文件与目录(撤销add)

    当执行如下命令时,会直接从暂存区删除文件,工作区则不做出改变

    #直接从暂存区删除文件,工作区则不做出改变
    git rm --cached <file>

    2.4、commit(提交)

    git commit 主要是将暂存区里的改动给提交到本地的版本库,即使用 git commit 命令对暂存的内容进行提交

    通过add只是将文件或目录添加到了index暂存区,使用commit可以实现将暂存区的文件提交到本地仓库:

    git commit -m "更新说明“

    2.5、pull(拉取),注:这步可选

    如果是多人同时开发维护代码,得先git pull ,拉取当前分支最新代码:

    git pull

    2.6、push(推送)

    添加远程主机,主机名为origin 地址为https://.....

    git remote add origin https://.....

    下一步,就可以把本地库的所有内容推送到远程库上

    git push -u origin master

    由于远程库是空的,我们第一次推送master分支时,加上了-u参数,Git不但会把本地的master分支内容推送的远程新的master分支,还会把本地的master分支和远程的master分支关联起来,在以后的推送或者拉取时就可以简化命令

    从现在起,只要本地作了提交,就可以通过命令:

    git push origin master

     如果已经创建则只需要这步就好了。

    总结

    首次提交代码到git仓库:

    第一步:git init 初始化项目文件夹

    第二步:git add . 键所有文件添加到暂存区

    第三步:git commit -m "first commit"   提交到本地仓库

    第四步:git remote add origin XXX(XXX就是你github或者码云等远程仓库的地址,git branch这个命令可以看到你所在的分支,删除某个仓库地址使用git remote rm origin)

    第五步:git pull 拉取远程分支信息,首次拉取合并信息

    第六步:git push -u -f origin master 提交到远程仓库,这个命令中的 -f 是强制推送,因为远程仓库只有初始化的文件,所以强制推送上去就行了,不加-f 会报当前分支没有远程分支,强制推送可以覆盖master,这样就完成了第一次提交的步骤)

    如果不是首次提交,就执行以下几步:

    第一步:git add . 键所有文件添加到暂存区

    第二步:git commit -m "first commit"   提交到本地仓库

    第三步:git pull 拉取远程分支信息,首次拉取合并信息(可选)

    第四步:git push origin master  提交到远程仓库

    原文链接:https://www.cnblogs.com/best/p/7474442.html

  • 相关阅读:
    rhel7 编写CMakeList.txt编译运行MySQL官方例子代码
    记录下 rhel 7 安装MySQL 并重置root密码
    杨辉三角 可以不用二维数组的
    一个ACE 架构的 Socket Client
    一个ACE 架构的 C++ Timer
    一个C++版的网络数据包解析策略
    标记下 'net 查壳/脱壳/加壳' 工具
    C++动态加载DLL调用方法
    C# (灰度)加权平均法将图片转换为灰度图
    C# GMap下提供一个高德地图
  • 原文地址:https://www.cnblogs.com/bushui/p/12036409.html
Copyright © 2011-2022 走看看