(4) 提交分支

提交分支命令 : 将本地的分支提交到 GitHub中;

  1. git push origin experiment

(5) 分支合并移除

合并分支命令 : 合并分支之后, 分支中有的文件在 主分支中也会显示, 相当于将branch1 分支中的文件拷贝了一份到master分支中;

  1. git merge branch1

合并结果 :

  1. Updating f1bb97a..7f5785e
  2. Fast-forward
  3. description_branch1.txt | 0
  4. 1 file changed, 0 insertions(+), 0 deletions(-)
  5. create mode 100644 description_branch1.txt

.

(6) 删除分支

删除分支命令 :

  1. git branch -d branch1

强制删除分支命令 : 如果branch1 分支还没有被合并的话, Git是不允许删除这个分支的, 此时要想删除该分支, 就只能使用下面的命令强制删除该分支 :

  1. git branch -D branch1

4. Git工作流程

(1) 两种工作流程

协作开发工作流程 : 这种情况是最复杂的情况, 多人团队共同开发一个项目;

-- 与远程仓库同步 : git pull ;

-- 修改文件 : 添加 删除 修改文件;

-- 查看变更 : git status ;

-- 载入变更 :添加文件, 先使用git add fileName, 在使用 git commit -m 'note' 载入变更; 如果是删除 修改文件, 直接使用 git commit -m 'note' 提交;

-- 重复 : 重复执行 修改文件 查看变更 载入变更 提交载入动作;

-- 上传 : 使用 git push 命令将项目源码提交带GitHub中去;

单独开发工作流程 : 如果是个人独立开发, 仅追踪本地文件变更, 就不需要提交到服务器上, 因为Git是分布式的;

-- 修改文件 :

-- 提交变更 :

-- 重复 :

(2) 简单示例

1> 独立开发示例

该示例不会上传, 仅在本地进行操作;

从GitHub中检出项目源码 : 注意, 检出的源码是根目录源码, 我们在总仓库的根目录检出即可,不同再为项目创建目录;

  1. git clone git@github.com:han1202012/AndroidPictureViewer.git

-- 检出克隆结果 :

  1. Cloning into 'AndroidPictureViewer'...
  2. remote: Counting objects: 86, done.
  3. remote: Compressing objects: 100% (62/62), done.
  4. remote: Total 86 (delta 3), reused 86 (delta 3)
  5. Receiving objects: 100% (86/86), 1.67 MiB | 109.00 KiB/s, done.
  6. Resolving deltas: 100% (3/3), done.
  7. Checking connectivity... done.

删除bin和gen目录 : 这两个目录是Android工程编译产生的临时文件, 没有必要上传到GitHub中去;

  1. rm -rf bin gen

-- 查看删除结果状态 :

  1. git status

-- 结果 :

  1. On branch master
  2. Your branch is up-to-date with 'origin/master'.
  3. Changes not staged for commit:
  4. (use "git add/rm <file>..." to update what will be committed)
  5. (use "git checkout -- <file>..." to discard changes in working directory)
  6. deleted:    bin/AndroidManifest.xml
  7. deleted:    bin/ImageView_Test.apk
  8. deleted:    bin/classes.dex
  9. deleted:    bin/res/crunch/drawable-xxhdpi/ic_launcher.png
  10. deleted:    bin/resources.ap_
  11. deleted:    gen/shuliang/han/imageview_test/BuildConfig.java
  12. deleted:    gen/shuliang/han/imageview_test/R.java

提交缓存 :

  1. git commit -a

-- 提交结果 :

  1. [master e4377ba] delete bin and gen directory.
  2. 28 files changed, 2 insertions(+), 110 deletions(-)
  3. create mode 100644 .gitignore
  4. delete mode 100644 bin/AndroidManifest.xml
  5. delete mode 100644 bin/ImageView_Test.apk
  6. delete mode 100644 bin/classes.dex
  7. delete mode 100644 bin/resources.ap_
  8. delete mode 100644 gen/shuliang/han/imageview_test/BuildConfig.java
  9. delete mode 100644 gen/shuliang/han/imageview_test/R.java

2> 协作开发示例

与远程仓库同步 :

  1. git pull

-- 如果其他人没有提交项目到GitHub上, 就会出现下面结果 :

  1. Already up-to-date.

修改文件后查看变更 :

  1. git status

-- 如果没有变更会出现下面情况 :

  1. On branch master
  2. Your branch is ahead of 'origin/master' by 1 commit.
  3. (use "git push" to publish your local commits)
  4. nothing to commit, working directory clean

载入变更 : 如果有变更, 那么使用命令载入变更. 使用 git commit -a 或者 git add 命令;

-- 添加文件 : 先使用 git add 文件名 来添加文件到缓存, 之后使用 git commit -m '' 命令提交代码到本地缓存;

-- 删除改变文件 : 直接使用 git commit -m '', 提交删除 或则 改变 到本地缓存;

提交项目源码到服务器 :

  1. git push

-- 提交源码结果 :

  1. warning: push.default is unset; its implicit value is changing in
  2. Git 2.0 from 'matching' to 'simple'. To squelch this message
  3. and maintain the current behavior after the default changes, use:
  4. git config --global push.default matching
  5. To squelch this message and adopt the new behavior now, use:
  6. git config --global push.default simple
  7. See 'git help config' and search for 'push.default' for further information.
  8. (the 'simple' mode was introduced in Git 1.7.11. Use the similar mode
  9. 'current' instead of 'simple' if you sometimes use older versions of Git)
  10. Counting objects: 4, done.
  11. Delta compression using up to 2 threads.
  12. Compressing objects: 100% (2/2), done.
  13. Writing objects: 100% (3/3), 292 bytes | 0 bytes/s, done.
  14. Total 3 (delta 1), reused 0 (delta 0)
  15. To git@github.com:han1202012/AndroidPictureViewer.git
  16. 1ddf8c7..e4377ba  master -> master

查看GitHub中的源码情况 : gen 和 bin 目录果然被删除了;

Git的一些用法(下)的更多相关文章

  1. Git 安装及用法 github 代码发布 gitlab私有仓库的搭建

    版本控制是一种记录一个或若干文件内容变化,以便将来查阅特定版本修订情况的系统. 这个版本控制软件,有 svn还有git,是一个工具. git是由linux的作者开发的 git是一个分布式版本控制系统 ...

  2. git clone、git pull和git fetch的用法及区别

    声明:码字不易,转载请注明出处,欢迎文章下方讨论交流.Git 常用命令速查表 最近在一个学习小组里学习AI的课程,我们所有的学习资料和homework都放在gitlab上.今天一个小队友从gitlab ...

  3. Git的一些用法

    三. Git的一些用法 1. .gitignore文件 屏蔽文件 : .gitignore文件是告诉Git哪些目录或者文件需要忽略, 这些文件将不被提交; 常用场景 : 写完代码后会执行变异调试等操作 ...

  4. git日常基本用法

    git作为项目管理现在已经是越来越广泛应用,结合自己平时的一些基本操作加上git说明文档里面的一些补充,我总结了一下git的基本用法: mkdir project # 创建项目目录 cd projec ...

  5. Git branch 和 Git checkout常见用法

    git branch 和 git checkout经常在一起使用,所以在此将它们合在一起 1.Git branch 一般用于分支的操作,比如创建分支,查看分支等等, 1.1 git branch 不带 ...

  6. Git 版本控制 在 WIN 下的一些使用方法

    这里记录一些 Git 在 Windows 操作系统下使用方法: 安装完毕后,先让Git 记录自己的名字: $ git config --global user.name "Your Name ...

  7. Eclipse Git和sourceTree用法

    Eclipse Git和sourceTree用法 Eclipse Git: 提交代码到git: 1.team->Repository->pull 若没有冲突: 2.team->com ...

  8. Git系列(1) Windows下Git服务器搭建

    作为对前两天Git服务器搭建的一个整理,我想分别从服务端和客户端两个角度来记录下整个搭建过程,为了达到目标,我们需要哪些操作. (一)服务端软件和账号的安装配置 我们这里只需要两个软件git和ssh, ...

  9. Mybatis基本用法--下

    Mybatis基本用法--下 第七部分 mybatis-spring-boot-starter 官网:http://www.mybatis.org/spring-boot-starter/mybati ...

  10. 版本控制工具——Git常用操作(下)

    本文由云+社区发表 作者:工程师小熊 摘要:上一集我们一起入门学习了git的基本概念和git常用的操作,包括提交和同步代码.使用分支.出现代码冲突的解决办法.紧急保存现场和恢复现场的操作.学会以后已经 ...

随机推荐

  1. 监控磁盘IO

    一.添加userparameter_io.conf配置文件 在/etc/zabbix/zabbix_agentd.d下添加userparameter_io.conf, 文件内容如下: UserPara ...

  2. Java常用日志框架介绍(转)

    Java常用日志框架介绍 java日志概述 对于一个应用程序来说日志记录是必不可少的一部分.线上问题追踪,基于日志的业务逻辑统计分析等都离不日志.java领域存在多种日志框架,目前常用的日志框架包括L ...

  3. ECS 游戏架构 理解

    转载自:http://blog.csdn.net/i_dovelemon/article/details/25798677 理解 组件-实体-系统 (ECS \CES)游戏编程模型 - 博客频道   ...

  4. tornado异步请求非阻塞-乾颐堂

    前言 也许有同学很迷惑:tornado不是标榜异步非阻塞解决10K问题的嘛?但是我却发现不是torando不好,而是你用错了.比如最近发现一个事情:某网站打开页面很慢,服务器cpu/内存都正常.网络状 ...

  5. 如何优雅地使用命令行设置windows文件关联

    如何优雅地使用命令行设置windows文件关联 使用ftype查看帮助 设置关联所需命令有ftype assoc,需要管理员权限.如果忘记使用方法可通过ftype的帮助获取查看方法 C:\WINDOW ...

  6. Node.js基本使用(超基础)

    Node.js是什么 Node.js是一个能够在服务器端运行JavaScript的开放源代码.跨平台JavaScript运行环境 Node采用Google开发的V8引擎运行js代码,使用事件驱动.非阻 ...

  7. QT学习之常用类的总结

    QApplication 应用程序类 管理图形用户界面应用程序的控制流和主要设置       QPalate   QLabel 标签类 提供文本或者图像的显示   QPushButton 按钮类 提供 ...

  8. 15 输入三个整数x,y,z,请把这三个数由小到大输出。

    题目:输入三个整数x,y,z,请把这三个数由小到大输出. public class _015ThreeNumberSort { public static void main(String[] arg ...

  9. redis的安装使用

    安装过程:http://www.cnblogs.com/littlehb/archive/2013/04/24/3040476.html 配置文件参考:http://redis.io/topics/c ...

  10. kalilinux基础

    service postgresql start service metasploit start msfconsole-db_status 配置metasploit随系统启动: update-rc. ...