注意 注意 注意 超级无敌重要!!!
重要的事情说3遍:最好在还没上传远端git仓库之前配置好gitignore文件,否则后续设置的gitignore文件会因为track问题导致你需要把远端已经上传的文件删除,会比较麻烦,所以先设置gitignore文件比较好。
在原有项目中添加git
1.初始化 - 给本地项目添加git
$ cd /Users/…/NoGitExample
//(cd 后面跟的是你要添加git的项目目录)
$ git init
//这会初始化一个空的源,如果你在Finder里面查看或是输入ls命令,你会看到.git子目录已经被创建
$ git add .
//这样,当前目录所有的内容就被添加到源里面去了
$ git commit -m 'Initial commit'
//接下来会出现一个本地git源所执行的改变列表,如果之前从未输入过用户名密码的话,会提示 Please tell me who you are.
//输入邮箱和名字之后重新输入 $ git commit -m 'Initial commit' 回车即可
现在git源就建好了,但是回到Xcode,打开Source Control菜单,发现依旧是灰色的,不可点的
这是因为我们使用命令行工具创建git源时,Xcode并未被通知,所以退出Xcode重新启动即可,如果重启之后打开项目依旧是灰色的话,请略微等一下,可能需要一点反应时间(我的就是这样)
2. 忽略文件 - push之前设置ignore文件
$ touch .gitignore
//添加.gitignore文件
$ open .gitignore
//打开文件,输入下面的忽略配置信息,输入完保存
$ git add .
$ git commit -m 'update .gitignore'
$ git push origin master
//将创建的忽略文件上传git
注意:后设置gitignore文件的补救方法 & 删除远端的文件
- 如果在设置ignore文件之前将整个文件上传到git的话,后续的补救操作如下:
$ git rm -r --cached **Pods**/
$ git rm –cached Podfile.lock
$ git rm –cached xxx(EKWRace.xcodeproj/xcuserdata - 这个文件可能要根据路径一个一个删除,视情况而定)
//将远端的pods文件进行删除
git rm –cached 把文件.DS_Store从git的索引库中移除,但是对文件.DS_Store本身并不进行任何操作也就是说本地还是有.DS_Store文件的,但是远端却没有了
$ git add .
$ git commit -m ‘update .gitignore’
$ git push origin master
//将创建的忽略文件上传git
2.1gitignore文件设置
# Xcode
#
# gitignore contributors: remember to update Global/Xcode.gitignore, Objective-C.gitignore & Swift.gitignore
# Mac OS X Finder and whatnot
.DS_Store
## Build generated
build/
DerivedData/
## Various settings
*.pbxuser
!default.pbxuser
*.mode1v3
!default.mode1v3
*.mode2v3
!default.mode2v3
*.perspectivev3
!default.perspectivev3
xcuserdata
## Other
*.moved-aside
*.xcuserstate
*.xccheckout
## Obj-C/Swift specific
*.hmap
*.ipa
*.dSYM.zip
*.dSYM
#CocoaPods
Pods/
Podfile.lock
3.将文件上传到远程仓库:
$ git remote add origin xxxxx
//关联到远程仓库,xxxxx为你的远程仓库的地址
$ git pull origin master:master
//从远程分支拉取master分支并与本地master分支合并
$ git push -u origin master
//将本地分支提交到远程分支
$ git add -A
$ git commit -m '初始化git项目'
$ git push --set-upstream origin master
//将现有项目添加并提交上传
$ git status
//查询状态
$ git remote show origin
//查看远程仓库的信息
现在为止项目已经上传git了,如果需要测试可以试着clone一下看看
$ cd xxx
//设置存放git clone下来的文件路径 xxx为文件路径
$ git clone xxx
//克隆项目到本地 xxx为远程仓库的地址
4.在本地创建分支,在分支上进行修改开发操作
$ git branch xxx
//1.创建分支
$ git checkout xxx
//2.切换分支
$ git checkout master
$ git merge xxx
//3.合并分支 (需要先回到主分支,然后再将分支合并到主分支)
$ git checkout '输入要回到的分支名称'
$ git merge '要合并的分支名称'
$ git branch -d xxx
//4.删除分支
$ git status
//5.如果合并分支冲突 - 查看冲突
$ git commit
//6.冲突解决后提交合并
$ git branch
//7.查看分支列表
$ git branch -v
//8.查看分支列表及分支信息
5.远端git版本备份问题
- 对于远程master分支的版本备份可以通过添加tag来进行版本备份操作
- 具体终端命令操作请参考下面链接
6.git查看用户名账号
$ git config user.name //查看用户名
$ git config user.email //查看邮箱
7.查看是否有公钥 生成公钥
- 检查本机是否已有公钥
//git公钥路径一般在ssh
$ cd ~/.ssh
$ ls
- 如果电脑中有以前遗留的密钥,将其删除掉
$ mkdir key_backup
$ cp id_rsa* key_backup
$ rm id_rsa*
- 生成新的公钥
$ ssh-keygen -t rsa -C "邮箱地址"
推荐一些非命令操作:
- Sourcetree
- 自行官方下载即可 - 免费
- Xcode
- 本身已经集成git,具体使用参考链接介绍
非常重要:
这个仅仅是自己使用git的时候的一点小小的总结,有什么不对的或者需要完善的地方,随时欢迎指正留言,谢谢!
使用git - xcode 参考文章:
http://www.cocoachina.com/ios/20140524/8536.html
https://blog.csdn.net/yingBi2014/article/details/79805990
忽略文件设置 参考文章:
https://www.cnblogs.com/kevingrace/p/5690241.html
https://blog.csdn.net/Hanrovey/article/details/74942756
https://www.cnblogs.com/someonelikeyou/p/7159765.html
本地分支操作 参考文章:
https://www.jianshu.com/p/ee01ba98a657
tag标签 参考文章:
https://blog.csdn.net/b735098742/article/details/78935748