svn commit is not under version control 和 git常用指令
使用Xcode提交一个第三方库时,由于包含资源文件,总是提交不了,提示报错:XXX commit is not under version control (1)
网上查了下,得知 xcode对于svn的支持不够好:导致资源文件如图片使用Xcode提交不了。
然后svn 命令提交,之前使用svn命令提交图片的时候,是可以提交的,但是今天就算使用svn命令,还是提交不了:
截图:
后来在commit命令后面加上svn的账户名和密码,才提交成功了:
使用git把本地代码提交到github上步骤:
1、打开终端,进入要提交的代码文件夹,如:cd /Users/PX/Desktop/心动爱
2、初始化仓库:git init
3、将所有文件添加到仓库:git add .
4、提交: git commit -m "commit code description info !!!! "
5、添加到github上,如把当前代码添加我的github一个Tan_CordovaPlugin仓库上:
git remote add origin https://github.com/xiaotanit/Tan_CordovaPlugin.git
6、push之前先pull一下:git pull origin master
7、push: git push origin master
最后提交成功之后的截图:
【
(2017 add): 后面的版本使用pull命令时会报错:fatal: refusing to merge unrelated histories
因为针对最新的版本碰到这种报错时,在pull后面添加一点命令即可:
git pull origin master --allow-unrelated-histories
】
实际上,在github上创建一个仓库后,会有提示步骤操作如何把本地代码提交到github上,如:
echo "# Tan_LocationPhotoVideo" >> README.md git init git add README.md git commit -m "first commit" git remote add origin https://github.com/xiaotanit/Tan_LocationPhotoVideo.git git push -u origin master
--------------------------------------------------
------- git 的常用命令 ---------
说明一下:Git项目有3个区域:工作区、暂存区、Git仓库(分为本地仓库和远程仓库)。
本地编写的代码,还没执行任何git命令,处于工作区;
执行 git add 命令时,会将工作区的文件标记为已暂存,保存在暂存区;
执行 git commit 命令时,会将标记为已暂存的文件保存到本地git仓库,并生成一个快照。
1、查看本地所有分支(前面有*的表示为当前所在分支):git branch
2、切换到目标分支,比如分支为branchOne: git checkout branchOne
3、查看当前仓库哪些文件有修改:git status ,
4、查看工作区(没有执行 git add 命令)中哪些文件被修改命令: git diff
查看某个具体文件的修改的内容,比如文件one.m: git diff one.m (one.m若不是在仓库根目录下,则是一个相对路径, 下面同理)
5、未暂存前,撤销本地修改。撤销所有修改命令:git checkout -- . ;撤销某个指定文件修改命令,比如文件one.m: git checkout one.m
6、添加一个文件或者修改一个文件到暂存区, 比如增加或者修改了文件one.m:git add one.m ; 添加所有修改文件到暂存区命令: git add .
7、将文件添加到暂存区后,此时再执行 git diff 命令,将不会有任何输出,这时还想查看暂存区的修改,可以执行这个命令: git diff --staged
8、将文件添加到暂存区后,想撤销修改的文件,撤销所有暂存区文件命令: git reset . ; 从暂存区撤销指定文件命令: git reset -- one.m
如果想把文件从暂存区和工作区一起撤销命令: git reset --hard ; 这个命令相当于是执行了 git reset . 和 git checkout -- . 两个命令
9、从暂存区提交增加或修改的文件到本地从仓库: git commit -m "提交日志信息******"
---- 将github项目下载到本地:
git clone https://github.com/xiaotanit/Tan_LocationPhotoVideo.git
10、 查看远程所有分支:git branch -r
11、查看本地和远程的所有分支:git branch -a
12、创建本地分支(假设分支名为:oneBranch):git branch oneBranch
13、把本地分支push到远程(创建远程分支):git push origin oneBranch
14、删除本地分支oneBranch:git branch -D oneBranch
15、删除远程分支oneBranch:git push --delete origin oneBranch
16、合并代码,将其他分支代码合并到当前分支:git merge oneBranch
比如当前在master分支,则git merge oneBranch意思是将分支oneBranch的代码合并到master。
这是本地分支合并,合并后还需push到远程分支去
17、查看所有提交日志:git log
18、查看所有提交日志,每次提交的日志以一行展示:git log --oneline
一行展示时,commit Id只展示7位长度,如果需要使用到commit Id, 用全名字的commit Id或7位长度的commit Id都是等效的。
19、查看最后提交的几次日志(n次写n): git log -5
20、查看中间提交的几次日志:git log --skip=3 -5 (表示跳过最后提交的3次,看后面的5次提交记录)
21、查看最后提交的几次一行展示:git log -5 --oneline
22、查看中间提交的几次一行展示:git log --skip=2 -2 --oneline
23、精确查看每次提交修改的具体内容:git show [commit_id], commit_id表示每次提交的唯一标识,
比如:git show f4485c2818813799935d7950b40f75a8fa23f211
24、查看所有文件的具体修改内容:git log -p
25、查看某个文件所有的修改记录:git log -p -- [文件的相对路径和名字],
比如: git log -p -- oneBranch/two.txt (查看oneBranch文件夹下面的two.txt文件的所有修改记录)
17、commit后或者push到远程,想撤回:git revert [commit_id],
比如:git revert e0f472dd9fc7acb79bb7c73a346723fa3b97422c
就能撤销掉上一次commit的代码
18、查看两次提交的不一样的地方:git diff [commit_id] [commit_id]
git diff e0f472dd9fc7acb79bb7c73a346723fa3b97422c 4d2a7a91c397357f7fdb45b5e15418016005175d
19、移动某文件: git mv oneBranch/one.txt one.txt (将oneBranch文件夹下面的one.txt文件移到根目录下)
20、移动并修改某文件名字:git mv oneBranch/one.txt two.txt (将oneBranch文件夹下的one.txt文件移动根目录下并修改名字为two.txt)
21、删除某个文件:git rm oneBranch/one.txt
----------- cocoaPods 终端使用命令 ----------
1、安装cocoaPods: sudo gem install cocoapods
2、查看cocoaPods来源:gem sources -l
出来结果为:
创建一个项目, 项目target为“TanReactiveCocoa”,在终端进入项目文件夹
2、创建一个Podfile : touch Podfile
3、查找第三方库的最新版本,比如AFNetworking: pod search AFNetworking
4、使用vim编写Podfile: vim Podfile
按i进入编写状态:
按fn+esc退出编辑(每个人的键盘或者快捷键不一样,不一定相同), :wq保存退出
5、安装第三方库:pod install
------------- 常用终端命令 ---------
已一个小例子展示常用的终端命令,效果截图:
-------- 终端关机命令 ------
立即关机是: sudo halt 或者 sudo shutdown -h now
10分钟后关机: sudo shutdown -h +10
晚上8点关机: sudo shutdown -h 20:00
立即重启:sudo reboot 或者 sudo shutdown -r now
defaults write com.apple.finder AppleShowAllFiles -bool true; killall Finder //显示隐藏文件 defaults write com.apple.finder AppleShowAllFiles -bool false; killall Finder //隐藏隐藏文件
//删除证书描述文件 进入描述文件夹 删除所有描述文件/或者删除某个指定的描述文件
cd ~/Library/MobileDevice/Provisioning\ Profiles/
rm *.mobileprovision