用git 有一段时间了,有点自己的小心得。个人觉得相对SVN来讲他更灵活,更合理。
陆陆续续的收集了一些学习资源:
1.理解Xcode 中的Git 版本控制
http://www.open-open.com/lib/view/open1399179356984.html
2.添加工程到gitHub
http://www.daxueit.com/article/3414.html
3运维人员应人手一个github
http://www.bubuko.com/infodetail-179690.html
4.github 公司账号申请地址
https://enterprise.github.com/home
5. github的基本功能:
http://www.zhihu.com/question/20070065
6.pull request 工作流
http://blog.jobbole.com/76854/
7 在Xcode 中使用osc git
http://www.noisyguy.com/archives/1083.html
8 git下的冲突解决
(1) http://www.cnblogs.com/sinojelly/archive/2011/08/07/2130172.html
9 git中忽略UserInterfaceState.xcuserstate的方法
http://www.tuicool.com/articles/JjIZFnI
补充:当有pod管理的时候,会应该用pod中userInterface的路径再次执行一次
下面是一些具体的操作情景:
1.删除分支
删除远程分支(两种都可以)
git push origin --delete branch_name
git push origin :branch_name
删除本地分支
git branch -D branch_name
2.新建分支
新建本地分支
git branch branch_name
把本地分支推送到远程分支,相当于新建远程分支 (分号后面为新建远程分支的名字,一般和本地分支的名字最好保持一致)
git push origin branch_name:branch_name
新建分支并转到该分支
git checkout -b branch_name
3.删除tag
删除本地tag
git tag -d v1.01
删除远程tag (两种)
git push origin --delete tag v1.01
git push origin :refs/tags/v1.01
4.新建tag
新建本地tag
git tag v1.01
新建远程tag (相当于本地的tag 推送到远程,所以本地必须要由tag)
git push origin v1.01:v1.01
5.删除文件
当本地有文件本删除的时候 应该 git commit -a -m '删除文件’ 然后 再push到远程分支,才可以把远程分支的文件也同步删除
删除本地文件
git rm new.txt
6.合并分支
当前分支和并branch_name 分支 (本地)
git merge branch_name
合并本地和远程分支
git merge origin/branch_name
7.团队合作 拿到别人的代码
git clone address
8.自己创建项目本地代码关联远程库
不行就 git remote rm origin
(1).cd 到当前目录
(2).git init //初始化本地git 仓库 (如果是已经由本地仓库的就删掉.git 然后再执行这个代码)
(3).git remote add origin address //关联远程git仓库
(4).git pull -u origin master //把远程git仓库中的文件同步到本地(readme 和 ignore)
(5).git add . //让所有的文件受控
(6).git commit -a -m ‘init’ //本地提交所有的文件
(7).git push origin master //提交到远程库
9.bug 分支
背景:master 分支
dev 分支(从master 中分出来的分支)
在对dev分支进行代码编辑时,突然有人叫你修改master 中的bug??
你可以从master 中分出一条 bugBranch 分支;然后修改bug后,commit ,然后和master合并。(不用当心以后和dev合并的时候会冲突,因为dev分支以后和master和并的时候,只会把和当初分离出来的master 有不一样的敌方合并到master中,所以修复的bug是不会被覆盖掉的。当然bug如果和dev都同时修改一个文件的时候,合并时判读一下就好!!!)
10.上传时单个文件超过100M
git config --global http.postBuffer 524288000
11.撤销合并
$ git checkout 【行merge操作时所在的分支】
$ git reset --hard 【merge前的版本号】