Git的一些用法(下)
Posted 兔&&大梅
tags:
篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了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 [email protected]: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 [email protected]:han1202012/AndroidPictureViewer.git
- 1ddf8c7..e4377ba master -> master
查看GitHub中的源码情况 : gen 和 bin 目录果然被删除了;
以上是关于Git的一些用法(下)的主要内容,如果未能解决你的问题,请参考以下文章