Git相关,Cocoapods相关, 命令行相关

项目中一直用的sourcetree,但是大家都在用命令行,记录一下。

  1. git status // 查看状态
  2. git diff (+ 文件) // 查看某个文件修改内容
  3. git add . git add -A// 将所有修改文件添加到暂存区中
  4. git commit -m (描述) 告诉Git,把文件提交到仓库。
  5. git pull // 拉取最新代码
  6. git log // 查看修改记录
  7. git log —pretty=oneline // 查看简洁版日志
  8. git reset --hard HEAD^ // 回退到上一个版本
  9. git reset --hard HEAD~100
  10. git checkout -- readme.txt // 把readme.txt文件在工作区做的修改全部撤销 如果没有 -- 的话,那么命令变成创建分支了
  11. rm b.txt

  1. git push // 命令,实际上是把当前分支master推送到远程
  2. git branch // 查看分支,会列出所有的分支,当前分支前面会添加一个星号
  3. git checkout 命令加上 –b参数表示创建并切换,相当于如下2条命令
  4. git branch dev // 创建分支
  5. git checkout dev // 检出分支
  6. git merge // 命令用于合并指定分支到当前分支上,

总结创建与合并分支命令如下:
  查看分支:git branch
  创建分支:git branch name
  切换分支:git checkout name
  创建+切换分支:git checkout –b name
  合并某分支到当前分支:git merge name
  删除分支:git branch –d name



一次误操作,将代码弄丢了,赶紧回滚了一下。

git回滚到任意版本
git log -3 3是指查看条数

`commit be75b2ef7f242927ae977e853c861aa1613fe200 (HEAD -> master, origin/master, origin/HEAD)`
Author: v_liguangbin <[email protected]>
Date:   Tue Feb 6 11:18:34 2018 +0800

    金额字

`commit a7b7d0f6e8f828717e495bffcb89576b5bb4dc87`
Author: v_liguangbin <[email protected]>
Date:   Tue Feb 6 11:08:17 2018 +0800

    修改字体页 常用色 金额数字

`commit 16986f53d64da7eb503ef73d23cb7ddcc33f4004`
Merge: 5020ceb 9ec11a5
Author: v_zhudan <[email protected]>
Date:   Tue Feb 6 10:02:31 2018 +0800
回滚到指定的版本

git reset --hard 16986f53d64da7eb503ef73d23cb7ddcc33f4004

强制提交

git push -f origin master

当我以为完美结束的时候,突然发现回滚错了,肿么办~
  1. 选择.git/logs/refs/heads/文件夹所在文件夹选择你的分支,打开文件
c3b157a723e31cb34b5b9f88055a896e3fa7ca74 a9f5886f5d7be37a38e87c55bc8fa5ab36f96d5b v_zhudan <[email protected]> 1517823475 +0800  commit: 蒙层颜色
a9f5886f5d7be37a38e87c55bc8fa5ab36f96d5b 9fa5ce821025ba8a2bc4ea8adff6221c9848177c v_zhudan <[email protected]> 1517823487 +0800  pull --log origin master: Merge made by the 'recursive' strategy.
9fa5ce821025ba8a2bc4ea8adff6221c9848177c 3f5b51bb68b13f1e02b5fd465d19555c95cf9190 v_zhudan <[email protected]> 1517825055 +0800  pull --log origin master: Fast-forward
3f5b51bb68b13f1e02b5fd465d19555c95cf9190 7665aa319a67ba4375dbc21242537d10146d1596 v_zhudan <[email protected]> 1517825067 +0800  commit: no message
7665aa319a67ba4375dbc21242537d10146d1596 5020cebc9a7fee64454fd1c9c28f135c84af7bcf v_zhudan <[email protected]> 1517882545 +0800  commit: 日期点击动画,地址选择器
5020cebc9a7fee64454fd1c9c28f135c84af7bcf 16986f53d64da7eb503ef73d23cb7ddcc33f4004 v_zhudan <[email protected]> 1517882551 +0800  pull --log origin master: Merge made by the 'recursive' strategy.
16986f53d64da7eb503ef73d23cb7ddcc33f4004 be75b2ef7f242927ae977e853c861aa1613fe200 v_zhudan <[email protected]> 1517897061 +0800  pull --log origin master: Fast-forward
  1. 找到相应的提交日志,输入git reset --hard *这里的*代表你想要恢复的log号.
  2. 输入命令行后,show log即可看到之前reset hard丢失的分支已经恢复了。
  • 请注意,log日志文件据说只会保留30天,如果想要恢复,请尽快恢复文件。


cocopods组件

项目创建验证
  1. 创建自己的项目

  2. 添加pod repo add MMSpecs https://gitee.com/MuMuDa91/MMSpec.git

此时如果成功的话进入到~/.cocoapods/repos目录下就可以看到MMSpec这个目录了。至此第一步创建私有Spec Repo完成。

如果有其他合作人员共同使用这个私有Spec Repo的话在他有对应Git仓库的权限的前提下执行相同的命令添加这个Spec Repo即可


  1. 先创建自己的仓库
  2. 然后关联仓库,
  3. 拉去代码
  4. 以下创建
  • 创建Pod项目工程文件
    pod lib create MMVideo
What language do you want to use?? [ Swift / ObjC ]
 > Swift

Would you like to include a demo application with your library? [ Yes / No ]
 > Yes

Which testing frameworks will you use? [ Quick / None ]
 > None

Would you like to do view based testing? [ Yes / No ]
 > No

根据自己的情况选择

  1. 接下来就是向Pod文件夹中添加库文件和资源,并配置podspec文件,我把一个网络模块的共有组件放入Pod/Classes中,然后进入Example文件夹执行pod update命令,再打开项目工程可以看到,
  • 注:这里需要注意的是每当你向Pod中添加了新的文件或者以后更新了podspec的版本都需要重新执行一遍pod update命令。
    最后找到解决办法如下:
    1、先删除远程 Git 仓库$ git remote rm origin
    2、再添加远程 Git 仓库$ git remote add origin [email protected]:FBing/java-code-generator
  • 如果执行 git remote rm origin 报错的话,我们可以手动修改gitconfig文件的内容
  1. 删除MMVideo的.git

  2. $ git add .
    $ git commit -s -m "Initial Commit of Library"
    $ git remote add origin [email protected]:wtlucky/podTestLibrary.git 添加远端仓库
    $ git push origin master 提交到远端仓库

  3. .因为podspec文件中获取Git版本控制的项目还需要tag号,所以我们要打上一个tag,
    git tag -m "first release" "0.1.0"
    $ git push --tags 推送tag到远端仓库
    $ vi .git/config
    把 [remote “origin”] 那一行删掉就好了。

  • echo 3.2 > .swift-version

  • pod lib lint --private

  • PodTestLibrary passed validation.(通过)

  • 创建pods文件
    pod spec create PodTestLibrary [email protected]:wtlucky/podTestLibrary.git

  • 文件一定要public

  • 修改文件可以直接修改,添加文件必须pod update

项目推到共有库

1.git tag 1.0.0 给项目打tag
2.git push --tag --force 讲tag推到远程库
3.pod repo add ShanlinPublicSpecs(git库名称) http://120.27.220.201:3000/shanlin-iOS-public/ShanlinPublicSpecs.git(git库地址) 添加项目地址
4.pod repo push ShanlinPublicSpecs(git库名) SLTestKit.podspec(自己写的组件名称) --allow-warnings --verbose --sources='http://120.27.220.201:3000/shanLin-iOS-public/ShanlinPublicSpecs.git','https://github.com/CocoaPods/Specs.git'推送到项目地址

* `--allow-warnings`  允许警告
* `--verbose` 显示详情
*  `--sources` 添加源
  1. 其他人就可以直接使用

你可能感兴趣的:(Git相关,Cocoapods相关, 命令行相关)