zoukankan      html  css  js  c++  java
  • git使用原理

    如果需要新建仓库:

    1. mkdir new_artcle//artcle为文件名

    2. cd new_artcle//进入该目录

    3. git init //初始化工作空间

    4. git add 文件名(article) //git add令将文件添加到索引中。索引是一个包含所有 Git 所要跟踪文件的列表

    5. git add . //表示该目录下提交所有改动到暂存区

    6. git commit -m "first commit" //将改动存入本地仓库,first commit 为提交说明

    7. $ git remote add origin https://git.coding.net/ssssdy/new_artcle.git

    8. //如果没有添加远程仓库就需要一个,例如添加coding.net 上的一个开源项目 artcle为远程仓库,并取别名为origin,接下来用 git remote 命令来查看当前添加的远程仓库:

    9. $ git remote -v

    10. origin git@git.coding.net:ssssdy/new_artcle.git (fetch)

    11. origin git@git.coding.net:ssssdy/new_artcle.git (push)

    12. origin5 https://git.coding.net/ssssdy/new_artcle.git (fetch)

    13. origin5 https://git.coding.net/ssssdy/new_artcle.git (push)

    14. $ git push -u origin5 master //将本地的master分支推送到origin(git.coding.net/ssssdy/new_artcle.git的别名)远程服务器上

    15. Username for 'https://git.coding.net': ssssdy

    16. Password for 'https://ssssdy@git.coding.net': //输入账户密码,也可以使用免密模式及SSH服务器提交方式

    
    

    注意:

    工作目录下所有的文件分为两种状态:已跟踪和未跟踪

    1. 已跟踪的文件 ———— tracked

      1. 指本来就被纳入版本控制管理的文件,在上次快照中有它们的记录,工作一段时间后,它们的状态可能是未修改,已修改或者已放入暂存区。

    2. 未跟踪文件 ———— untracked

      1. 它们既没有上次更新时的快照,也不在当前的暂存区域。

      2. 初次克隆某个仓库时,工作目录中的所有文件都属于已跟踪文件,且状态为未修改。 在编辑过某些文件之后,Git 将这些文件标为已修改。我们逐步把这些修改过的文件放到暂存区域,直到最后一次性提交所有这些暂存起来的文件,如此重复。所以使用 Git 时的文件状态变化周期如图所示。

    3. git status命令可以查看文件的状态:

    $git status

    位于分支 master

    您的分支领先 'origin/master' 2 个提交。

    (使用 "git push" 来发布您的本地提交)

    要提交的变更:

    (使用 "git reset HEAD <文件>..." 以取消暂存)

    新文件: model/spider_tools.class.php

    尚未暂存以备提交的变更:

    (使用 "git add <文件>..." 更新要提交的内容)

    (使用 "git checkout -- <文件>..." 丢弃工作区的改动)

    修改: .gitignore

    修改: model/spider_tools.class.php

    修改: static/123.php

    修改: static/test.php

    未跟踪的文件:

    (使用 "git add <文件>..." 以包含要提交的内容)

    static/get_info.php

    分支的概念:

    每个分支的代码版本都是独立演进的,分支之间的代码版本完全不会干扰另外一个代码版本的开发.Git 的分支相比 SVN 要轻量很多,这是因为 Git 分支并不是复制一个新仓库,而是为一个分支存储一个指针,这个指针将指向某个提交对象。没错,这就和数据结构中常见的指针链表一样。所以 Git 的分支只是指针,并没有将仓库进行复制,每次提交都会让当前的分支向后移动,指向最后一次提交的对象。当你在切换分支时,Git 也只是改变指向当前所在分支的特殊指针 HEAD,所以可以快速地在各个分支之间进行切换.

    分支的功能

    分支在实际中可以方便的隔离开发。 假设你创建了一个属于你自己的分支,别人看不到,还继续在原来的分支上正常工作,而你在自己的分支上干活,想提交就提交,直到开发完毕后,再一次性合并到原来的分支上,这样,既安全,又不影响别人工作。

    在命令行创建本地分支

    也可以在命令行用git branch新建一个分支,我们在本地运行以下命令:

    $ git branch article-branch

    这条命令将会在本地仓库创建一个名为 “article-branch” 的分支,这条分支指向最近一次提交的数据。要注意的是,运行该命令后,当前工作分支仍然是在 “master” 分支上,需要使用git checkout命令来进行分支之间的切换。

    切换分支

    本地分支切换

    之前我们已经在本地创建好了分支,接下来切换到 “article-branch” 分支:

    $ git checkout article-branch

    Switched to branch 'article-branch'

    git checkout 下面这句话告诉我们,我们已经成功地将工作分支切换到了 “article-branch” 分支。

    远端分支切换

    Coding.net 提供在线的分支切换,在项目代码页,master 标签下拉菜单处可以选择其他分支。

    合并分支

    git merge [分支名]命令将指定分支合并到当前工作分支中.

    合并之后,”master” 分支和 “learn-branch” 分支实际上是指向同一个位置。此时你可以通过

    $git branch -d [分支名]

    来删除某个分支。

  • 相关阅读:
    Yocto开发笔记之《Tip-bitbake常用命令》(QQ交流群:519230208)
    Yocto开发笔记之《Tip-设置程序开机启动》(QQ交流群:519230208)
    Yocto开发笔记之《Tip-应用程序无法在目标机运行》(QQ交流群:519230208)
    激光雷达技术
    Yocto开发笔记之《网卡配置》(QQ交流群:519230208)
    Yocto开发笔记之《错误记录》(QQ交流群:519230208)
    Yocto开发笔记之《工具使用:TFTP & NFS & SSH》(QQ交流群:519230208)
    Yocto开发笔记之《U-boot启动内核流程》(QQ交流群:519230208)
    自定义选择提示框
    uitextfield输入字符限制
  • 原文地址:https://www.cnblogs.com/ssssdy/p/7132803.html
Copyright © 2011-2022 走看看