使用Git进行项目管理

1. 从服务器pull项目,本地还原工程

  1. 从服务器拉取仓库及分支

    1. git clone git@github.com/helloWorld.git
    2. git branch -a
    3. git pull origin branchA:branchA
    4. git checkout branchA
  2. 本地还原工程
    1. 开发的过程中会遇到 project.xcworkspace 会因为不同的机器而出现不一致的情况发生,比如出现某些文件没有找到,但是该文件已经在工程目录下了,此时需要我们手动将这些缺失的文件重新拖入工程增加引用, 其实还有个方法就是全部删除引用code代码,然后再全部拖入,xcode将会重新开始进行引用工程文件
  3. 还原pod引用库
    1. 打开terminal ,切换到当前工程根目录
    2. pod install
    3. 等待完成后,打开 pods.xcworkspace
    4. 运行检查是否有问题,一般可能会出现多从定义,或者找不到的情况,解决办法是去除冗余文件

2. 提交自己的分支项目到服务器

  1. 设置gitignore

    1. 添加gitignore 文件,将Ojbective-C.gitignore文件拖入根目录下
    2. 设置全局gitignore 文件,为了去除每个文件夹下的.DS_Store文件
  2. commit 到自己的分支
    1. git add *
    2. git commit -m "【模块名】增删改查"
  3. 提交到远程分支

    git push origin branchA:branchA //提交本地branchA 分支到服务器branchA分枝

3. 分支合并

  1. 先下载切换分枝合并

    1. 切换到主分支,pull 远程主分支到本地,然后进行合并
    2. git checkout master
    3. git pull master
    4. git merge branchA //将branchA分支合并到主分支
  2. 边下载直接分枝合并

    git pull origin master:branchA // pull 远程分支master到当前分枝上brachA进行合并

3.使用smartGit 进行文件比对,逐一排除conflict file

4. 推送最后更新到远程

  1. 去掉冲突文件之后,重新提交更新到当前分支,推送到远程分支,如何提交上文有提到,最好先进行确认是否无bug

5. 合并确认

  1. 最好push 到一个新的分支,自己再下载确认是否没有bug
  2. 没有bug, 可以推送到主分支了

git 常用命令解析

  1. 文件的状态 ,一般分为 unstaged(红色) 、 staged to be commit(绿色),untracked (最后提示,忘了什么颜色)
  2. 如何删除不必要提交的文件
    1. 绿色 stage to be commit : git rm --cached filename
    2. 红色 unstaged : git checkout -- filename
    3. untrack :
      • git clean . -rf //清空当前目录下未被track`
      • git clean . -fd // 清除当前目录下的空文件夹
  3. git 创建新的远程分支
    1. git push origin master:master //将本地master 推送到远程master
    2. git push origin master:branchA //将本地分支推送到远程分支branchA,如果没有该远程分支,那么新建该分支
  4. git 删除远程分支
    1. git push origin :branchA //删除远程branchA分支
  5. git 恢复某一状态
    1. git checkout -- filename
    2. git reflog
    3. git reset xxx
    4. git reset --hard XXX

最新文章

  1. Eclipse 显示所有文件
  2. NIO 连接
  3. http协议本身能获取客户端Mac地址问题
  4. foreach -begin -process -end
  5. samba服务器上文件名大小写
  6. iOS图片拉伸技巧-李明杰分享
  7. 联想G50-70安装SSD及WIN10教程
  8. Nginx的“远方表哥”—Tengine
  9. 蓝桥杯2018 B组 第九题
  10. django之COOKIE 与 SESSION
  11. ul+li水平居中的几种方法
  12. A Bug's Life(向量偏移)
  13. centos6.5 安装php-5.6.31
  14. NET设计模式 第二部分 创建型模式(6):创建型模式专题总结(Creational Pattern)
  15. 自动化工具gulp搭建环境(详解)
  16. day23面向对象编程基础
  17. Mac系统安装和卸载brew包管理
  18. 从头认识java-15.7 Map(7)-TreeMap与LinkedHashMap
  19. html块元素和内联元素
  20. Hadoop系列-HDFS基础

热门文章

  1. 使用 Python 的 SQLite JSON1 和 FTS5 扩展
  2. 【HDU4333】Revolving Digits(扩展KMP+KMP)
  3. 用MATLAB画函数的曲线
  4. AT&T汇编中系统调用和C函数调用的使用
  5. IPV6 实现
  6. NOI2003 文本编辑器editor
  7. ♫【网站优化】Reflow / Repaint
  8. ARC模式下的单例写法
  9. Android调试时, "adb devices"命令提示 adb server is out of date. killing...
  10. $(function(){})里面不能声明定义函数