美文网首页Git
git 操作 - 1

git 操作 - 1

作者: _挑灯看剑_ | 来源:发表于2016-10-24 16:54 被阅读0次

1、创建本地库 在github网站进行创建。

2、在本地pc上创建库和github的远程库进行关联,有两种选择:

1)从github上进行克隆,克隆到本地。
命令为:git clone git@github.com:wbh91128/git_test.git。执行完毕之后,默认 为远程仓库 git_test.git 起别名 origin。其次,为在相应的目录下创建目录 git_test ,并且将项目拷贝到该目录上。
2)在本地创建一个库,进行初始化。
git init
git remote add origin git@github.com:wbh91128/git_test.git (和远程库进行 关联,并进行关联)
接下来进行 push 操作。
git add .
git commit -m “”
git push origin master
这样,本地库的master分支和github远程库上的master分支进行关联

3、在本地创建分支,并且同步到远程仓库中。

1)在本地创建分支 git branch guest_branch
2)在本地库中切换到 guest_branch 分支,git checkout guest_branch
3)在guest_branch 分支下,添加文件等,然后push到远程
git push origin guest_branch 这句话相当于在远程创建分支,并且远程的guest_branch 分支和 本地的guest_branch 分支是同步的。

  1. 查看分支 git branch -a
    *** guest_branch
    master
    remotes/origin/guest_branch
    remotes/origin/master
    在本地:


    1.png

    每次提交一次,节点就会向后添加一个,而master分支指向最后一次添加的节点。而HEAD指针始终指向当前分支的最后一次提交。现在要进行的操作是:git branch guest_branch


    2.png
    git checkout guest_branch(切换到某一个分支,是指就是将HEAD指针指向那个分支的提交节点)
    3.png
    由于 本地的master分支是跟踪远程的master分支的,如果想要本地的dev_branch分支也要跟踪远程的dev_branch 分支,则进行push操作。
    git push origin dev_branch
    这个命令操作之后,将会在远程库 github中创建分支 dev_branch,同时将本地的dev_branch 分支的内容push到远程github的dev_branch 分支上。进行跟踪。
    因此操作完成后,本地的master分支跟踪远程的master分支,本地的guest_branch 分支根据远程github的guest_branch 分支。
    github上的分支跟踪图:
    4.png

4、进行分支合并

有这样的分支结构,在本地是这样的:


5.png

上面的分支图表示:

  • 本地master分支和远程github的master分支进行跟踪
  • 本地的dev_w_branch和远程dev_w_branch 的分支进行跟踪
  • 本地的dev_w_sub_branch 和远程的dev_w_sub_branch 进行同步跟踪
    在master分支上,在commit的信息为 add guest_js.js 的点之后,创建分支 dev_w_branch,在这个分支上用户进行的提交信息有 add file dev_w_1.js,add_file_dev_w_2.js。
  • 在commit add_file_dev_w_2.js 之后,在dev_w_branch 的基础上,进行创建分支,dev_w_sub_branch。
  • 在dev_w_sub_branch 分支上进行提交 commit add_dev_w_sub_1.js 点。
    注:分支永远指向最后一次提交 commit的节点。而且,HEAD指针永远指向当前用户所在分支的分支名称。
    相应同步跟踪到远程github上,远程的分支图是这样的:
    6.png
    目前要进行分支合并:即将 dev_w_sub_branch 分支去合并 dev_w_branch 分支上。但是首先要在本地进行合并,然后提交到远程。(红色线代表合并)
    7.png
    执行命令:
    1)首先切换到 dev_w_branch, git checkout dev_w_branch
    2)将dev_w_sub_branch 合并到 dev_w_branch,这个操作必须在dev_w_branch 中进行操作,因此要切换到 dev_w_branch 分支。git merge dev_w_sub_branch
    8.png
    首先合并:将dev_w_branch 去合并 dev_w_sub_branch 分支
    1)切换到dev_wbranch 分支 git checkout dev_w_branch
    2)进行合并,git merge dev_w_sub_branch(只是在本地进行合并)
    9.png
    3)在本地 merge完毕之后,发现 remote/origin/dev_w_branch 和 本地的dev_w_branch不一致,不能进行同步跟踪。需要将在dev_w_branch 分支上的变化提交到远程github。github是将dev_w_branch 和 remote/origin/dev_w_branch 进行同步追踪的,因此在 dev_w_branch 分支上,进行push操作,git push origin dev_m_branch(远程合并)
    在本地的库中就变成这样:
    10.png
    而在远程变成这样:
    11.png
    此时不再需要 dev_w_sub_branch 分支,因此要删除它,首先要在本地进行删除。
    则在 dev_w_branch 分支之上,对 dev_w_sub_branch 进行删除。
    git branch -d dev_w_sub_branch (只是将分支 dev_w_sub_branch在本地删除)
    执行完毕之后 本地变成这样:
    12.png
    很明显,远程的分支 remote/origin/dev_w_sub_branch 并没有被删除,因此要删除该分支,执行命令:git push origin --delete dev_w_sub_branch(将分支在远程删除)。远程变成这样:远程分支 dev_w_sub_branch 已经被删除。
    13.png
    本地变成这样:
    14.png
    每一个分支都有可以提交自己的文件:
    比如在master分支中,文件主要有:
    readme.txt,login.js
    在dev_w_branch分支中,文件主要有:
    readme.txt,login.js Hello.js
    那么两个分支进行合并之后,master分支的文件变为:
    readme.txt,login.js Hello.js

相关文章

  • git and github

    目录:1、git 、github 介绍2、git本地操作()3、git远程操作 1.git 、github、rep...

  • git的常见命令

    --本地操作 1,常规操作 git add . -----> git commit -m "信息" -----> ...

  • 查看git有哪些操作

    1.查看删除之外的git操作。git log 2.查看所有git操作。git reflog

  • 小众GIT

    1、git reflog: 操作记录,找回reset等误操作 2、git rebase --todo 3、git ...

  • git基本操作 梳理

    git操作梳理一、git基本操作1.创建版本仓库 git init(.git目录)2.版本创建 git add ...

  • git常用操作命令

    git常用操作命令 1 git工作原理图 2 git远程操作 2.1 git clone 远程操作的第一步,通常是...

  • 最简洁的Git介绍

    一、解决问题 1、Git原理;2、Git的常见操作;3、Git常见问题以及相关操作; 二、Git原理 1、四大区域...

  • git 命令

    一、git 操作命令 1. 基本命令 (顺序操作) git init 初始化一个git仓库 git stat...

  • Git基本操作

    一、 git的基础操作 基础操作 1.在项目里创建一个git : $ git init 链接远程项目: $ git...

  • git 操作 - 1

    1、创建本地库 在github网站进行创建。 2、在本地pc上创建库和github的远程库进行关联,有两种选择: ...

网友评论

    本文标题:git 操作 - 1

    本文链接:https://www.haomeiwen.com/subject/iuuluttx.html