使用 git 进行项目管理(只管理代码,不管理项目配置)
使用Git进行项目管理
1. 从服务器pull项目,本地还原工程
-
从服务器拉取仓库及分支
- git clone git@github.com/helloWorld.git
- git branch -a
- git pull origin branchA:branchA
- git checkout branchA
-
本地还原工程
- 开发的过程中会遇到 project.xcworkspace 会因为不同的机器而出现不一致的情况发生,比如出现某些文件没有找到,但是该文件已经在工程目录下了,此时需要我们手动将这些缺失的文件重新拖入工程增加引用, 其实还有个方法就是全部删除引用code代码,然后再全部拖入,xcode将会重新开始进行引用工程文件
-
还原pod引用库
- 打开terminal ,切换到当前工程根目录
- pod install
- 等待完成后,打开 pods.xcworkspace
- 运行检查是否有问题,一般可能会出现多从定义,或者找不到的情况,解决办法是去除冗余文件
2. 提交自己的分支项目到服务器
-
设置gitignore
- 添加gitignore 文件,将Ojbective-C.gitignore文件拖入根目录下
- 设置全局gitignore 文件,为了去除每个文件夹下的.DS_Store文件
-
commit 到自己的分支
- git add *
- git commit -m "【模块名】增删改查"
-
提交到远程分支
git push origin branchA:branchA //提交本地branchA 分支到服务器branchA分枝
3. 分支合并
-
先下载切换分枝合并
- 切换到主分支,pull 远程主分支到本地,然后进行合并
- git checkout master
- git pull master
- git merge branchA //将branchA分支合并到主分支
-
边下载直接分枝合并
git pull origin master:branchA
// pull 远程分支master到当前分枝上brachA进行合并
3.使用smartGit 进行文件比对,逐一排除conflict file
4. 推送最后更新到远程
- 去掉冲突文件之后,重新提交更新到当前分支,推送到远程分支,如何提交上文有提到,最好先进行确认是否无bug
5. 合并确认
- 最好push 到一个新的分支,自己再下载确认是否没有bug
- 没有bug, 可以推送到主分支了
git 常用命令解析
-
文件的状态 ,一般分为 unstaged(红色) 、 staged to be commit(绿色),untracked (最后提示,忘了什么颜色)
-
如何删除不必要提交的文件
- 绿色 stage to be commit :
git rm --cached filename
- 红色 unstaged :
git checkout -- filename
- untrack :
git clean . -rf
//清空当前目录下未被track`git clean . -fd
// 清除当前目录下的空文件夹
- 绿色 stage to be commit :
-
git 创建新的远程分支
git push origin master:master
//将本地master 推送到远程mastergit push origin master:branchA
//将本地分支推送到远程分支branchA,如果没有该远程分支,那么新建该分支
-
git 删除远程分支
git push origin :branchA
//删除远程branchA分支
-
git 恢复某一状态
git checkout -- filename
git reflog
git reset xxx
git reset --hard XXX