Git的一些用法(下)

Posted 兔&&大梅

tags:

篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了Git的一些用法(下)相关的知识,希望对你有一定的参考价值。

(4) 提交分支 

 

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

 

[plain] view plaincopy技术分享技术分享
 
 
  1. git push origin experiment  



 

(5) 分支合并移除

 

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

 

[plain] view plaincopy技术分享技术分享
 
 
  1. git merge branch1  

合并结果 : 

 

 

[plain] view plaincopy技术分享技术分享
 
 
  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) 删除分支

 

删除分支命令 : 

 

[plain] view plaincopy技术分享技术分享
 
 
  1. git branch -d branch1  


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

 

 

[plain] view plaincopy技术分享技术分享
 
 
  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中检出项目源码 : 注意, 检出的源码是根目录源码, 我们在总仓库的根目录检出即可,不同再为项目创建目录;

 

[plain] view plaincopy技术分享技术分享
 
 
  1. git clone [email protected]:han1202012/androidPictureViewer.git  

-- 检出克隆结果 : 

 

 

[plain] view plaincopy技术分享技术分享
 
 
  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中去;

 

 

[plain] view plaincopy技术分享技术分享
 
 
  1. rm -rf bin gen  

-- 查看删除结果状态 : 

 

 

[plain] view plaincopy技术分享技术分享
 
 
  1. git status  

-- 结果 : 

 

 

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

 

 

提交缓存 : 

 

[plain] view plaincopy技术分享技术分享
 
 
  1. git commit -a  

-- 提交结果 : 

 

 

[plain] view plaincopy技术分享技术分享
 
 
  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> 协作开发示例

 

与远程仓库同步 : 

[plain] view plaincopy技术分享技术分享
 
 
  1. git pull  

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

 

[plain] view plaincopy技术分享技术分享
 
 
  1. Already up-to-date.  


修改文件后查看变更 : 

 

 

[plain] view plaincopy技术分享技术分享
 
 
  1. git status  

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

 

 

[plain] view plaincopy技术分享技术分享
 
 
  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.   
  5. nothing to commit, working directory clean  


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

 

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

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

 

提交项目源码到服务器 : 

 

[plain] view plaincopy技术分享技术分享
 
 
  1. git push  

-- 提交源码结果 : 

 

 

[plain] view plaincopy技术分享技术分享
 
 
  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.   
  5.   git config --global push.default matching  
  6.   
  7. To squelch this message and adopt the new behavior now, use:  
  8.   
  9.   git config --global push.default simple  
  10.   
  11. See ‘git help config‘ and search for ‘push.default‘ for further information.  
  12. (the ‘simple‘ mode was introduced in Git 1.7.11. Use the similar mode  
  13. ‘current‘ instead of ‘simple‘ if you sometimes use older versions of Git)  
  14.   
  15. Counting objects: 4, done.  
  16. Delta compression using up to 2 threads.  
  17. Compressing objects: 100% (2/2), done.  
  18. Writing objects: 100% (3/3), 292 bytes | 0 bytes/s, done.  
  19. Total 3 (delta 1), reused 0 (delta 0)  
  20. To [email protected]:han1202012/AndroidPictureViewer.git  
  21.    1ddf8c7..e4377ba  master -> master  



 

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

技术分享

以上是关于Git的一些用法(下)的主要内容,如果未能解决你的问题,请参考以下文章

git 一些提交等用法

git grep的一些用法

git的一些简单用法

Git 的用法

git用法

Git 教程 - Git 基本用法