git 操作 - 1

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
最后编辑于
©著作权归作者所有,转载或内容合作请联系作者
平台声明:文章内容(如有图片或视频亦包括在内)由作者上传并发布,文章内容仅代表作者本人观点,简书系信息发布平台,仅提供信息存储服务。

推荐阅读更多精彩内容

  • 1. 安装 Github 查看是否安装git: $ git config --global user.name "...
    Albert_Sun阅读 13,744评论 9 163
  • 墨染秋韵白云边,笔抒豪情山水间。 莫道逸夫有风骨,敢与文士谈圣贤。 平静人生灵感语,浅识光阴直白言。 诗吟解去身心...
    逸塵居士阅读 221评论 0 0
  • 我经常会陷入思考,思考一些奇奇怪怪的东西。就比如我吃完饭上楼的时候,看到风吹动的一团毛蓉蓉的物十,看着倒挺像老鼠,...
    idege阅读 199评论 0 0
  • 1、早上去花店挑了几支花,美好的一天从早晨开始。到店里修剪好插在了瓶子里,给店里增加点色彩,生活总要有点不一样! ...
    萧十贰阅读 200评论 0 0
  • 奥地利小镇一直是很多人心中的童话世界,五颜六色的房子,披上雪装的松树,湖光山色,萨尔茨堡满足了所有童话镇的条件。而...
    独处的米米阅读 362评论 0 0