iOS开发 git github 初学+进阶
- 1. iOS开发 git github 初学+进阶
- 2. Can ignore specific files
- 3. Use wildcards as well
- 4. Can also ignore all directories and files in a directory.
- 5. Ignore all dotfiles…
- 6. except for .gitignore
- 7. git branch local
- 8. git checkout local 切换到local
- 9. … 开发local分支
- 10. git checkout master
- 11. git merge local
- 12. git branch -d local 合并完后删除local
- 13. git clone git@github.com: xxx/xxx.git ( private 链接)
- 14. git pull 从服务器更新
- 15. git log 查看其他成员更新日志
- 16. git branch dev-b
- 17. git checkout dev-b
- 18. git push origin dev-b (如果不通过github,通过自己机器上的路径也可以)
- 19. git pull origin dev-b 即可合并其他开发者的Branch
- 20. git branch newexp
- 21. git checkout newexp
- 22. git pull origin dev-b
- 23. git checkout master
- 24. git merge newexp
- 25. mkdir myproject.git
- 26. cd myproject.git
- 27. git –bare init –shared
- 28. cd myproject
- 29. git push user@server1:myproject.git master
- 30. git clone user@server1:myproject.git
- 31. git commit
- 32. git pull
- 33. git push
iOS开发 git github 初学+进阶
Iphone学习笔记 github
iOS开发 git github 初学+进阶
2012-08-21 10:52:33| 分类: MyMac | 标签:git github 入门 进阶
|字号
订阅
1 注册github,配置git环境
2 github****上创建立一个项目
我们创建的是一个github仓库,一个仓库里只能存放(或叫对应)一个项目
打开teminal
Global setup:
Set up git
git config –global user.name “Your Name”
git config –global user.email defnngj@gmail.com
Next steps:打开已有Xcode工程
git init
git commit -m ‘first commit’#提交到库
git remote add origin git@github.com:defnngj/hibernaet-demo2.git#链接到远程git
git push -u origin master
3 使用ssh
$ cd ~/. ssh 检查本机的ssh密钥,如果木有,百度
如果不是第一次使用,请执行下面的操作,清理原有ssh密钥。
$ mkdir key_backup
$ cp id_rsa* key_backup
$ rm id_rsa*
生成新的密钥:
Ssh-keygen –t rsa –C “defnngj@gmai.com”
最好不要直接打开~/.ssh/里面的id_rsa.pub文件,使用vi id_rsa.pub.防止有额外符号
登陆github系统。点击右上角的 Account Settings—>SSH Public keys —> add another public keys
把你本地生成的密钥复制到里面(key文本框中), 点击 add key 就ok了
在git中运行下面命令:
$ git –T git@github.com
如果提示:Hi defnngj You’ve successfully authenticated, but GitHub does not provide shell access. 说明你连接成功了。
4 开始使用
$ git status //查看当前项目下所有文的状态,如果第一次,你会发现都红颜色的,因为它还没有交给git/github管理。
$ git add .�� //(.)点表示当前目录下的所有内容,交给git管理,也就是提交到了git的本地仓库。
Ps:git的强大之处就是有一个本地仓库的概念,在没有网络的情况下可以先将更新的内容提交到本地仓库。
$ git commit –m”new natter ” //对你更新或修改了哪些内容做一个描述。
$ git remote add origin git@github.com:defnngj/hibernate-demo.git
//如果你是第一次提交项目,这一句非常重要,这是你本地的当前的项目与远程的哪个仓库建立连接。
Ps: origin可以改为别人的名字,但是在你下一次push(提交)时,也要用你修改之后的名字。
$ git remote -v�� //查看你当前项目远程连接的是哪个仓库地址。
$ git push -u origin master�� //将本地的项目提交到远程仓库中。
如果你是第一次想把github上面的项目克隆到本地或者要克隆别人的项目到地。
$ git clone git@github.com:defnngj/hibernate-demo.git�� //在git下面切换到想存放此项目的文件目录下,运行这条命令就可以将项目克隆下来。
假如本地已经存在了这个项目,而仓库中又有一新的更新,如何把更的合并到本地的项目中?
$ git fetch origin�� //取得远程更新,这里可以看做是准备要取了
$ git merge origin/master //把更新的内容合并到本地分支/master
$ git rm aaa.java //移除我们删除的那个文件,不然git不允许我们往远程仓库提交。
$ git rm bbb/ -r�� // -r 会把bbb/目录下的所有内容一次性移动。
5 继续
1. .gitIgnore 文件忽略哪些不被Git跟踪的文件
在根目录下生成 .gitignore 文件,
例子1:
Can ignore specific files
.DS_Store
Use wildcards as well
*~
*.swp
Can also ignore all directories and files in a directory.
tmp/**/*
例子2:
Ignore all dotfiles…
.*
except for .gitignore
!.gitignore
2. 使用GitHub进行多人协同开发
GitHub上大的项目如Ruby有多个Branch
(0) 克隆GitHub项目
git clone git://github.com/xxx/xxx.git
(1) 分支的创建和合并
git branch local
git checkout local 切换到local
… 开发local分支
与master分支合并
git checkout master
git merge local
git branch -d local 合并完后删除local
(2) 最佳方式的GitHub多人协作,每个人建立自己分支
假定有项目创建者A (主力开发者和代码合并)和其他开发者B, C , D, E …
创建者A将其他开发者加到项目的Collaborator里 ,如下图所示(项目Admin菜单)

其他开发者B, C , D, E…,配置好Git和GitHub的证书:
git clone git@github.com: xxx/xxx.git ( private 链接)
git pull 从服务器更新
git log 查看其他成员更新日志
其他开发者建议在开发时建立自己的分支,不要在master上整了
B开发者(当然主力开发者也适用)
git branch dev-b
git checkout dev-b
…. 开发
将分支push到github
git push origin dev-b (如果不通过github,通过自己机器上的路径也可以)
主开发者A
git pull origin dev-b 即可合并其他开发者的Branch
为了保险起见,主开发者可以在新的Branch中测试B的开发成果,测试稳定后再合并进Master
git branch newexp
git checkout newexp
git pull origin dev-b
… (testing…)
….
git checkout master
git merge newexp
3. 建立自己的Git服务器进行多人协同开发
服务器server1:
mkdir myproject.git
cd myproject.git
git –bare init –shared
开发者A 初始化服务器上项目
cd myproject
git push user@server1:myproject.git master
开发者N可获得初始项目文件
git clone user@server1:myproject.git
改动

