一、命令行使用
1. 进入到工作目录,初始化一个代码仓库
git init
2. 给该git仓库配置一个用户名和邮箱
git config user.name "wang"
git config user.email "wang@163.com"
3. 初始化代码
touch main.m
git add main.m
4. 查看文件的状态(git status)
- Untracked files(红色文件):新添加的文件或者新修改的文件在工作区,没有被添加到暂缓区。
- Change to be committed(绿色):将工作区的代码已经添加到暂缓区中,可以被提交到代码仓库中。
5. 修改文件
open main.m
6. 将工作区所有的文件添加到暂缓区中
git add .
7. 给git命令起别名
git config alias.st "status"
git config alias.ci "commit -m"
8. 查看历史版本
git log
git reflog
- git版本号:a6a87425f29e874b57591c53d597a73fDa52c7
- git版本号是由sha1加密算法生成的一个40位的哈希值
9. 版本回退
- git reset --hard HEAD 回到当前版本
- git reset --hard HEAD^ 回到前一个版本
- git reset --hard HEAD^^ 回到前两个版本
- git reset --hard HEAD~100 回到前100个版本
- git reset --hard 版本号前7位 回到指定的版本
10. --global的作用(配置全局的用户名和密码,其他地方可以不配置)
- git config --global user.name "wang"
- git config --global user.email "wang@163.com"
二、团队开发
共享库:文件夹/U盘/网盘/Github/osChina
1. 创建一个代码共享库(让一个文件夹成为共享库)
git init --bare
2. 经理将共享代码仓库中的内容clone下来
git clone 地址
3. 项目经理初始化项目
- 忽略文件:在和.git同级目录下创建一个.gitignore文件,在该文件中指定需要忽略的文件
- 可以去https://github.com/github/gitignore/blob/master/Objective-C.gitignore 查看OC需要忽略的内容,将内容填写到.gitignore中
- git add . /git commit -m "注释" 将.gitignore添加到本地仓库管理中
- 初始化项目在.git同目录下
- 将初始化的项目提交到本地
- 将本地代码库中的内容push到服务器中
4. 张三加入开发
- git clone 共享代码库的地址
- 修改代码->git commit -> git push
注意:
- 同一个文件的共享
- 同一个文件共享时发生代码冲突
- 创建新文件的共享
- storyboard的共享
- 静态库的共享(不需要像svn一样执行add命令)
三、忽略UserInterfaceState.xcuserstate文件
- 退出XCode,打开终端,进入项目目录下
- 在终端键入 git rm --cached [YourProjectName].xcodeproj/project.xcworkspace/xcuserdata/[ YourUsername].xcuserdatad/UserInterfaceState.xcuserstate
或者git rm --cached [YourProjectName].xcworkspace/xcuserdata/[ YourUsername].xcuserdatad/UserInterfaceState.xcuserstate - 在终端键入 git commit -m "Removed file that shouldn't be tracked"
- 重新打开Xcode commit, push。