Git的一些用法(下)
(4) 提交分支
提交分支命令 : 将本地的分支提交到 GitHub中;
- git push origin experiment
(5) 分支合并移除
合并分支命令 : 合并分支之后, 分支中有的文件在 主分支中也会显示, 相当于将branch1 分支中的文件拷贝了一份到master分支中;
- git merge branch1
合并结果 :
- Updating f1bb97a..7f5785e
- Fast-forward
- description_branch1.txt | 0
- 1 file changed, 0 insertions(+), 0 deletions(-)
- create mode 100644 description_branch1.txt
.
(6) 删除分支
删除分支命令 :
- git branch -d branch1
强制删除分支命令 : 如果branch1 分支还没有被合并的话, Git是不允许删除这个分支的, 此时要想删除该分支, 就只能使用下面的命令强制删除该分支 :
- 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中检出项目源码 : 注意, 检出的源码是根目录源码, 我们在总仓库的根目录检出即可,不同再为项目创建目录;
- git clone git@github.com:han1202012/AndroidPictureViewer.git
-- 检出克隆结果 :
- Cloning into 'AndroidPictureViewer'...
- remote: Counting objects: 86, done.
- remote: Compressing objects: 100% (62/62), done.
- remote: Total 86 (delta 3), reused 86 (delta 3)
- Receiving objects: 100% (86/86), 1.67 MiB | 109.00 KiB/s, done.
- Resolving deltas: 100% (3/3), done.
- Checking connectivity... done.
删除bin和gen目录 : 这两个目录是Android工程编译产生的临时文件, 没有必要上传到GitHub中去;
- rm -rf bin gen
-- 查看删除结果状态 :
- git status
-- 结果 :
- On branch master
- Your branch is up-to-date with 'origin/master'.
- Changes not staged for commit:
- (use "git add/rm <file>..." to update what will be committed)
- (use "git checkout -- <file>..." to discard changes in working directory)
- deleted: bin/AndroidManifest.xml
- deleted: bin/ImageView_Test.apk
- deleted: bin/classes.dex
- deleted: bin/res/crunch/drawable-xxhdpi/ic_launcher.png
- deleted: bin/resources.ap_
- deleted: gen/shuliang/han/imageview_test/BuildConfig.java
- deleted: gen/shuliang/han/imageview_test/R.java
提交缓存 :
- git commit -a
-- 提交结果 :
- [master e4377ba] delete bin and gen directory.
- 28 files changed, 2 insertions(+), 110 deletions(-)
- create mode 100644 .gitignore
- delete mode 100644 bin/AndroidManifest.xml
- delete mode 100644 bin/ImageView_Test.apk
- delete mode 100644 bin/classes.dex
- delete mode 100644 bin/resources.ap_
- delete mode 100644 gen/shuliang/han/imageview_test/BuildConfig.java
- delete mode 100644 gen/shuliang/han/imageview_test/R.java
2> 协作开发示例
与远程仓库同步 :
- git pull
-- 如果其他人没有提交项目到GitHub上, 就会出现下面结果 :
- Already up-to-date.
修改文件后查看变更 :
- git status
-- 如果没有变更会出现下面情况 :
- On branch master
- Your branch is ahead of 'origin/master' by 1 commit.
- (use "git push" to publish your local commits)
- nothing to commit, working directory clean
载入变更 : 如果有变更, 那么使用命令载入变更. 使用 git commit -a 或者 git add 命令;
-- 添加文件 : 先使用 git add 文件名 来添加文件到缓存, 之后使用 git commit -m '' 命令提交代码到本地缓存;
-- 删除改变文件 : 直接使用 git commit -m '', 提交删除 或则 改变 到本地缓存;
提交项目源码到服务器 :
- git push
-- 提交源码结果 :
- warning: push.default is unset; its implicit value is changing in
- Git 2.0 from 'matching' to 'simple'. To squelch this message
- and maintain the current behavior after the default changes, use:
- git config --global push.default matching
- To squelch this message and adopt the new behavior now, use:
- git config --global push.default simple
- See 'git help config' and search for 'push.default' for further information.
- (the 'simple' mode was introduced in Git 1.7.11. Use the similar mode
- 'current' instead of 'simple' if you sometimes use older versions of Git)
- Counting objects: 4, done.
- Delta compression using up to 2 threads.
- Compressing objects: 100% (2/2), done.
- Writing objects: 100% (3/3), 292 bytes | 0 bytes/s, done.
- Total 3 (delta 1), reused 0 (delta 0)
- To git@github.com:han1202012/AndroidPictureViewer.git
- 1ddf8c7..e4377ba master -> master
查看GitHub中的源码情况 : gen 和 bin 目录果然被删除了;
Git的一些用法(下)的更多相关文章
- Git 安装及用法 github 代码发布 gitlab私有仓库的搭建
版本控制是一种记录一个或若干文件内容变化,以便将来查阅特定版本修订情况的系统. 这个版本控制软件,有 svn还有git,是一个工具. git是由linux的作者开发的 git是一个分布式版本控制系统 ...
- git clone、git pull和git fetch的用法及区别
声明:码字不易,转载请注明出处,欢迎文章下方讨论交流.Git 常用命令速查表 最近在一个学习小组里学习AI的课程,我们所有的学习资料和homework都放在gitlab上.今天一个小队友从gitlab ...
- Git的一些用法
三. Git的一些用法 1. .gitignore文件 屏蔽文件 : .gitignore文件是告诉Git哪些目录或者文件需要忽略, 这些文件将不被提交; 常用场景 : 写完代码后会执行变异调试等操作 ...
- git日常基本用法
git作为项目管理现在已经是越来越广泛应用,结合自己平时的一些基本操作加上git说明文档里面的一些补充,我总结了一下git的基本用法: mkdir project # 创建项目目录 cd projec ...
- Git branch 和 Git checkout常见用法
git branch 和 git checkout经常在一起使用,所以在此将它们合在一起 1.Git branch 一般用于分支的操作,比如创建分支,查看分支等等, 1.1 git branch 不带 ...
- Git 版本控制 在 WIN 下的一些使用方法
这里记录一些 Git 在 Windows 操作系统下使用方法: 安装完毕后,先让Git 记录自己的名字: $ git config --global user.name "Your Name ...
- Eclipse Git和sourceTree用法
Eclipse Git和sourceTree用法 Eclipse Git: 提交代码到git: 1.team->Repository->pull 若没有冲突: 2.team->com ...
- Git系列(1) Windows下Git服务器搭建
作为对前两天Git服务器搭建的一个整理,我想分别从服务端和客户端两个角度来记录下整个搭建过程,为了达到目标,我们需要哪些操作. (一)服务端软件和账号的安装配置 我们这里只需要两个软件git和ssh, ...
- Mybatis基本用法--下
Mybatis基本用法--下 第七部分 mybatis-spring-boot-starter 官网:http://www.mybatis.org/spring-boot-starter/mybati ...
- 版本控制工具——Git常用操作(下)
本文由云+社区发表 作者:工程师小熊 摘要:上一集我们一起入门学习了git的基本概念和git常用的操作,包括提交和同步代码.使用分支.出现代码冲突的解决办法.紧急保存现场和恢复现场的操作.学会以后已经 ...
随机推荐
- 富文本编辑器和fastdfs的使用
宜立方商城的系统架构a) 功能介绍(项目架构,有哪些功能模块,这些功能模块如何实现?)b) 架构讲解工程搭建-后台工程c) 使用maven搭建工程(后台工程如何搭建?)d) 使用maven的tomca ...
- ubuntu14.04 64 位 vmware tools 问题2
当提示说open-vm-tools版本太低时可以这样解决 0.使用最新版本12.5的vmware player. 1.sudo apt-get autoremove open-vm-dkms open ...
- HAproxy-1.6.3 安装部署
反向代理优缺点: haproxy反向代理高性能的HTTP,TCP反向代理 nginx:优点:1.web服务器,比较广泛2.工作7层location设置比较复杂基于HTTP(url,cookies,ag ...
- scrapy定制爬虫-爬取javascript——乾颐堂
很多网站都使用javascript...网页内容由js动态生成,一些js事件触发的页面内容变化,链接打开.甚至有些网站在没有js的情况下根本不工作,取而代之返回你一条类似"请打开浏览器js& ...
- 向对象(OO)程序设计
http://www.uml.org.cn/mxdx/201208232.asp 前言 本文主要介绍面向对象(OO)程序设计,以维基百科的解释: 面向对象程序设计(英语:Object-oriented ...
- Spring框架总结(八)
二.Cglib代理名词理解: Cglib代理,也叫做子类代理.利用继承关系实现被代理类的功能扩展.缺点: (1)JDK的动态代理有一个限制,就是使用动态代理的对象必须实现一个或多个接口. ...
- 从零开始学习前端JAVASCRIPT — 8、JavaScript基础COOKIE
1:通信协议 定义:通信协议是指双方实体完成通信或服务所必须遵循的规则和约定.协议定义了数据单元使用的格式,信息单元应该包含的信息与含义,连接方式,信息发送和接收的时序,从而确保网络中数据顺利地传送到 ...
- (转)打造一套UI与后台并重.net通用权限管理系统
原文地址:http://www.cnblogs.com/LRBPMS/p/3425997.html 一.前言 从进行到软件开发这个行业现在已经有几年了,在整理出这个套开发框架之前自己做了不少重复造轮子 ...
- 团体程序设计天梯赛L2-003 月饼 2017-03-22 18:17 42人阅读 评论(0) 收藏
L2-003. 月饼 时间限制 100 ms 内存限制 65536 kB 代码长度限制 8000 B 判题程序 Standard 作者 陈越 月饼是中国人在中秋佳节时吃的一种传统食品,不同地区有许多不 ...
- SpringCloud教程 | 第七篇: 高可用的分布式配置中心(Spring Cloud Config)(Finchley版本)
上一篇文章讲述了一个服务如何从配置中心读取文件,配置中心如何从远程git读取配置文件,当服务实例很多时,都从配置中心读取文件,这时可以考虑将配置中心做成一个微服务,将其集群化,从而达到高可用,架构图如 ...