zoukankan      html  css  js  c++  java
  • git

    1.项目--仓库
    一个项目,一般情况下,对应一个代码仓库(repo),默认创建master分支
    2.比如说我是一个开发人员,也要修改代码,但是我本地是没有代码,所以需要clone 一份代码到我的本地
    dinghao@dinghao-ThinkPad-X1-Carbon-3rd:~/github$ git clone https://github.com/dinghunter/redis_cluster.git

    Cloning into 'redis_cluster'...
    remote: Counting objects: 66, done.
    remote: Compressing objects: 100% (58/58), done.
    remote: Total 66 (delta 29), reused 13 (delta 4), pack-reused 0
    Unpacking objects: 100% (66/66), done.
    Checking connectivity... done.

    切换到代码目录下
    dinghao@dinghao-ThinkPad-X1-Carbon-3rd:~/github$ cd redis_cluster/

    查看我本地的分支,默认是本地的master,相对应的origin master(也就是远程master),正常情况下,origin master会修改成受保护的,
    不允许你直接在master上修改代码,所以一般人都会在自己的分支上修改修改
    dinghao@dinghao-ThinkPad-X1-Carbon-3rd:~/github/redis_cluster$ git branch
    * master //看下我现在就处于master分支下


    3.现在我要修改代码,因为最好不要在master上修改,所以我需要在本地上创建一个分支,我取名叫redis-cluster
    dinghao@dinghao-ThinkPad-X1-Carbon-3rd:~/github/redis_cluster$ git checkout -b redis-cluster

    Switched to a new branch 'redis-cluster'
    表示的意思我创建了一个redis-cluster的分支,并且切换到到这个分支下

    dinghao@dinghao-ThinkPad-X1-Carbon-3rd:~/github/redis_cluster$ git branch
    master
    * redis-cluster
    现在我就在redis-cluster这个分支下,本地还有一个分支叫master,我可以在redis-cluster和master互相切换,
    命令如下:
    git checkout master
    git checkout redis-cluster 注意,我这里是没有带 -b 这个参数的,你思考下为什么?

    4.我现在要增加一个a.txt文件,操作如下
    dinghao@dinghao-ThinkPad-X1-Carbon-3rd:~/github/redis_cluster$ touch a ///创建了一个a的文件
    dinghao@dinghao-ThinkPad-X1-Carbon-3rd:~/github/redis_cluster$ vim a //通过vim编辑器修改
    dinghao@dinghao-ThinkPad-X1-Carbon-3rd:~/github/redis_cluster$ git add a //增加了一个a文件
    dinghao@dinghao-ThinkPad-X1-Carbon-3rd:~/github/redis_cluster$ git commit -m "add file a"
    [redis-cluster 960445f] add file a
    1 file changed, 1 insertion(+)
    create mode 100644 a
    //通过git commit a这个文件到redis-cluster这个分支,-m 表示添加的备注信息

    提醒: 在这个情况下,我在本地可以看到redis-cluster这个分支,别人是看不到,所以我们push 这个分支到origin,
    验证如下:
    dinghao@dinghao-ThinkPad-X1-Carbon-3rd:~/github/redis_cluster$ git branch ///我本地的分支
    master
    * redis-cluster
    查看所有的分支(包括本地和远程的):
    dinghao@dinghao-ThinkPad-X1-Carbon-3rd:~/github/redis_cluster$ git branch -a
    master
    * redis-cluster
    remotes/origin/HEAD -> origin/master
    remotes/origin/master

    6.我现在需要把我本地的分支push 到origin
    dinghao@dinghao-ThinkPad-X1-Carbon-3rd:~/github/redis_cluster$ git push origin redis-cluster
    Username for 'https://github.com': dinghunter
    Password for 'https://dinghunter@github.com':
    Counting objects: 3, done.
    Delta compression using up to 4 threads.
    Compressing objects: 100% (2/2), done.
    Writing objects: 100% (3/3), 261 bytes | 0 bytes/s, done.
    Total 3 (delta 1), reused 0 (delta 0)
    To https://github.com/dinghunter/redis_cluster.git
    * [new branch] redis-cluster -> redis-cluster

    现在查看下所有的分支(本地和远程),你会发现多了一个: remotes/origin/redis-cluster 这个分支,表示我已经成功push 这个分支了
    别人也可以看到我创建的这个分支。
    master
    * redis-cluster
    remotes/origin/HEAD -> origin/master
    remotes/origin/master
    remotes/origin/redis-cluster

    7.查看我的提交记录
    dinghao@dinghao-ThinkPad-X1-Carbon-3rd:~/github/redis_cluster$ git log
    commit 960445fba81ff0e36a68727e1bc39c5ee4b3a187
    Author: dinghao <dinghunter@gmail.com>
    Date: Fri Jul 1 11:50:45 2016 +0800

    add file a

    8.下面我要做的就是把redis-cluster 的代码merge到master上,两种方式:由于我的代码仓库放在github上,所以通过github的界面操作实现,另外一个方式,git 命令行方式实现,下次再讲

    注意:下次讲的内容,git merge代码, git 删除分支,git回滚代码

  • 相关阅读:
    任正非:所有公司都是管理第一,技术第二(没有一流管理,领先的技术就会退化;有一流管理,即使技术二流也会进步)
    QuickReport的OnNeedData的触发情况
    Quickreport不用数据字段,如何实现多页打印?
    我要继续做开发吗(对18个问题,全部都是肯定!)
    一台主机,至多可以开启多少个线程
    BenchmarkDotNet
    开发资源
    WebSocket
    TCP
    “在什么时候学习编程才合适?”
  • 原文地址:https://www.cnblogs.com/jiangtuzi/p/5632631.html
Copyright © 2011-2022 走看看