Mac iOS开发命令收集-svn,git...

1、svn相关

Mac系统自带svn命令
(目前只是用到一些简单的更新文档的操作)

  • checkout 下载项目/文件夹
    svn checkout http://192.168.1.120/Project1 --username=xxx --password=123 /Users/username/Desktop/Project1
  • add 添加
    svn add test.txt 添加单个文件test.txt
    svn st | awk '{if ( $1 == "?") { print $2}}' | xargs svn add一次性添加所有文件和修改的文件
  • commit 提交
    svn commit -m "message"
  • delete 删除
    svn delete test.txt或者直接在finder中把要删除的文件拖入delete后面
    注:在finder中直接删除文件,之后svn commit是无效的
  • update 更新
    svn update更新所有文件
    svn update test.txt更新指定文件

2、git相关

  • clone 克隆工程
    git clone <仓库地址> <本地路径>

  • 电脑重启,无法连接gitlab,需要重新添加rsa
    cd .ssh
    ssh-add id_rsa

  • 查看当前本地分支有哪些
    git branch

  • checkout 检出
    git checkout 分支名 检出分支/切换本地分支
    git checkout -b 新分支名 master 在master上新建分支
    git status 查看当前状态,处于哪个分支上?有没有待提交代码?

  • add 添加
    git add . 将改动的文件添加到暂存区

  • commit 提交
    git commit 主要是将暂存区里的改动给提交到本地的版本库。每次使用git commit 命令我们都会在本地版本库生成一个40位的哈希值,这个哈希值也叫commit-id,commit-id在版本回退的时候是非常有用的,它相当于一个快照,可以在未来的任何时候通过与git reset的组合命令回到这里。
    git commit -m "message"

  • pull 拉取最新代码
    git pull <远程主机> <远程分支>:<本地分支>
    git pull origin master:my_feature origin是远程厂库地址,将origin厂库的master分支拉取并合并到本地的my_test分支上。如果省略本地分支,则自动合并到当前分支,所以要确认清楚当前分支。
    git pull 是 git fetch和git merge的结合

    git fetch
    //更新所有分支
    git fetch origin master:tmp 
    //在本地新建一个temp分支,并将远程origin仓库的master分支代码下载到本地temp分支
    git diff tmp 
    //来比较本地代码与刚刚从远程下载下来的代码的区别
    git merge tmp
    //合并temp分支到本地的master分支(当前分支)
    git branch -d temp
    //如果不想保留temp分支 可以用这步删除
    
  • push 推送
    git push <远程主机名> <本地分支名>:<远程分支名>
    git push origin my_feature 命令中的本地分支是指将要被推送到远端的分支,而远程分支是指推送的目标分支,即将本地分支合并到远程分支。
    如果省略远程分支名,则表示将本地分支推送与之存在”追踪关系”的远程分支(通常两者同名),如果该远程分支不存在,则会被新建。
    git push origin --delete <branchName> 删除远程分支

  • stash 暂存
    git stash save "name" 暂存当前未提交的代码(包括所有已暂存、未暂存文件),命名为name,这时工程代码就会回到上一次提交时的样子,这时候再查看一次git status就可以看到working tree is clean,可以进行分支切换等操作
    git stash list 查看暂存列表
    git stash apply 应用本地暂存,有多个暂存时先查看暂存列表,然后用git stash apply stash@{2}应用具体某个暂存

  • 代码回退
    git log -3 数字可无,查看当前分支提交历史记录
    根据git log的结果,当提交的代码还没push到远程分支,需要回退时用reset:
    git reset HEAD~1 将版本库回退1个版本,将本地版本库的头指针全部重置到指定版本,且会重置暂存区,即这次提交之后的所有变更都移动到未暂存阶段(还有另外–soft和–hard参数,需要用到再查吧~)
    git reset 重置已暂存文件,全部移回“未暂存文件”区域
    git checkout . 把当前未暂存区域的所有改动全部丢弃掉很好用,如果觉得留着可能之后有用就执行git stash save “name”进行暂存
    *当提交的代码已经push到了远程分支,需要回滚时用revert,线上线下代码保持一致:
    git revert 版本唯一的commit标识代码 revert用于反转提交,执行revert命令时要求working tree is clean,revert之后本地代码会回滚到指定的历史版本,再git push 就可以把线上的代码更新

  • tag 操作
    git tag # 在控制台打印出当前仓库的所有标签
    git tag 查看当前分支下的tag
    git tag -d test_tag 本地删除tag
    git push origin --delete tag <tagname> 删除tag

  • 【报错】Xcode点右上角author图标:Couldn’t communicate with a helper application
    指的是:不能与助手应用程序通信在Xcode中(helper ->指的是git)
    终端输入:
    Xcrun git config --global user.email 你的邮箱
    xcrun git config --global user.name gitlab上的你的名字

    原文作者:李琪_59dc
    原文地址: https://www.jianshu.com/p/a6e05aed150d
    本文转自网络文章,转载此文章仅为分享知识,如有侵权,请联系博主进行删除。
点赞