-
Git的基本使用
-
git创建代码仓库
-
首先新建一个git文件夹,打开终端 cd 到目录回车 然后输入git init
- cd /Users/liuxingchen/Desktop/GitTest
- git init
-
配置用户名和邮箱
- git config user.name "WYZ"
- git config user.email "WYZ@126.com"
-
配置全局的用户名和邮箱(个人比较喜欢用这个)
- git config --global user.name "Bigboom"
- git config --global user.email "Bigboom@126.com"
-
初始化项目
- 创建一个mian.m的文件
- touch main.m
- 查看当前代码库状态
- git status
- 将main.m添加到暂缓区
- git add main.m
- 将在暂缓区的所有内容提交到本地版本库,清空暂缓区
- git commit -m "初始化main.m"
-
这里需要注意:一定要使用 -m 参数指定修改的备注信息,不然会进入Vim编辑器。。
-
- git commit -m "初始化main.m"
-
注意添加的文件或者是修改的文件都要通过 add 命令讲文件添加到暂缓区
- 创建一个mian.m的文件
-
-
Git详情操作
-
查看git的所有版本库日志
-
git reflog
个人相比较喜欢这个,reflog功能更强大一些,或者用git log也可以
-
-
git删除文件
-
git rm main.m
将main.m删除
-
-
git版本回退
-
git reset -- hard HEAD
回到当前版本
-
git reset -- hard HEAD^
回到上一个版本
-
git reset -- hard HEAD^^
回到上上个版本,^有几个决定回到多少个版本之前
-
git reset --hard HEAD~3
回到之前第三个修订版本
-
-
Git团队开发
-
1创建Git本地仓库
-
首先切换到代码仓库(如果已经有了项目请忽视)
cd /Users/Desktop/crazy_doctor_ios -
建立空白代码库
git init --bare -
在本地创建代码库,先到代码库文件夹 cd /Users/yao/Desktop/crazy_doctor_ios/coder/经理
git clonegit clone /Users/Desktop/crazy_doctor_ios 这一步做的是从本地代码仓拷贝一份给经理
-
-
2设置忽略文件
-
添加忽略文件
touch .gitignore -
添加暂缓文件
git add . -
提交忽略文件
git commit -m "添加了忽略文件"-
在经理文件夹中可以看到.gitignore文件可以指定哪些文件不纳入版本库的管理,我们需要在https://github.com/github/gitignore(Object-C搜索不到但是可以搜到swift,swift里面的忽略包含了Object-C) 找到自己语言要忽略的东西然后粘在经理目录下的.gitignore
touch .gitignore 回车 git add .或者不写点直接git add .gitgnore
-
-
-
3代码创建
-
新建一个项目放到"经理"文件夹下,这里注意如果已经有了代码仓库在xocde创建项目的时候,source control 是不可以选中的,因为你已经有了代码仓库就不能再创建了,创建好好会发现有很多A和M的文件,这是正常现象,接下来就可以进行提交点击菜单栏的source control commit提交在提交之前也可以直接点push to remote 提交后自动添加到共享版本库可以在本地仓库的.git文件夹下找到objects文件里面放着所有文件只不过是存到数据库
-
其他人加入开发首先cd其他人的的文件夹下 cd /Users/yao/Desktop/ServerA/coder/程序猿 回车 git clone /Users/yao/Desktop/ServerA/crazy_doctor_ios (这一步操作是程序猿从本地代码仓库拷贝代码),这样其他人的文件夹下就有了一份项目代码
-
-
4提交和更新代码
-
提交代码流程 xocde菜单栏-->source control-->commit提交代码并说明这次提交代码写了什么东西-->Push to remote -->完成提交
-
更新代码流程 xocde菜单栏-->source control-->pull-->完成更新
-
-
5冲突的产生和解决
-
用git的时候如果两个人对同一个文件或者同一行代码操作会产生冲突,比如程序员A和程序员B 都对Item这个类进行操作,程序员A先做了提交操作,这时程序员B在做提交和push操作时会发现出提示The local ... out of date,如果提示这个可以先pull一下看看有没有冲突
-
-
6新人加入开发
-
在开发中加入新人需要给新人独立新创建一个服务器,在当前服务器文件夹下,新建一个新项目文件夹,并初始化共享版本库
git init --bare -
打开主干项目之后配置远程服务器xocde菜单栏-->-->Source Control-->**masster-->Configure Server-->选中remotes--> "+" -->Add Remotes-->填写远程服务器名称和地址(地址不能有中文),创建成功后将代码push到远程服务器
-
新人获取源码
git clone 服务器地址(文件夹路径)
-
-
7在github上如何用SSH Keys验证
-
1. 先查看本地有没有已经创建好的ssh
ls -al ~/.ssh
-
2. 如果自己要生成新的打开终端
ssh-keygen -t rsa -b 4096 -C "你的邮箱"
如果弹出提示按回车 直到出现图案图案中包含o .+*
一堆乱七八糟的东西 -
3. 终端输入 open id_rsa.pub 或者前往个人文件夹找到.ssh文件 id_rsa.pub复制里面的所有字符
-
4.在github中配置SSH 个人头像-->setting-->SSH keys-->New SSH kye-->Tittle(输入SSH的名称)-->在Key中粘贴复制的id_rsa.pub
-
http://od2d96feb.bkt.clouddn.com/Git%E7%AC%94%E8%AE%B0.zip 完整版笔记