Git的一些用法(下)
2016-09-19 14:36
197 查看
(4) 提交分支
提交分支命令 : 将本地的分支提交到 GitHub中;[plain] view plaincopy
git push origin experiment
(5) 分支合并移除
合并分支命令 : 合并分支之后, 分支中有的文件在 主分支中也会显示, 相当于将branch1 分支中的文件拷贝了一份到master分支中;[plain] view plaincopy
git merge branch1
合并结果 :
[plain] view plaincopy
Updating f1bb97a..7f5785e
Fast-forward
description_branch1.txt | 0
1 file changed, 0 insertions(+), 0 deletions(-)
create mode 100644 description_branch1.txt
.
(6) 删除分支
删除分支命令 :[plain] view plaincopy
git branch -d branch1
强制删除分支命令 : 如果branch1 分支还没有被合并的话, Git是不允许删除这个分支的, 此时要想删除该分支, 就只能使用下面的命令强制删除该分支 :
[plain] view plaincopy
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中检出项目源码 : 注意, 检出的源码是根目录源码, 我们在总仓库的根目录检出即可,不同再为项目创建目录;
[plain] view plaincopy
git clone git@github.com:han1202012/AndroidPictureViewer.git
-- 检出克隆结果 :
[plain] view plaincopy
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中去;
[plain] view plaincopy
rm -rf bin gen
-- 查看删除结果状态 :
[plain] view plaincopy
git status
-- 结果 :
[plain] view plaincopy
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
提交缓存 :
[plain] view plaincopy
git commit -a
-- 提交结果 :
[plain] view plaincopy
[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> 协作开发示例
与远程仓库同步 :[plain] view plaincopy
git pull
-- 如果其他人没有提交项目到GitHub上, 就会出现下面结果 :
[plain] view plaincopy
Already up-to-date.
修改文件后查看变更 :
[plain] view plaincopy
git status
-- 如果没有变更会出现下面情况 :
[plain] view plaincopy
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 '', 提交删除 或则 改变 到本地缓存;
提交项目源码到服务器 :
[plain] view plaincopy
git push
-- 提交源码结果 :
[plain] view plaincopy
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 目录果然被删除了;