美文网首页
Mac iOS开发命令收集-svn,git...

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

作者: 李琪_59dc | 来源:发表于2018-05-31 10:55 被阅读0次

    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上的你的名字

    • 【报错】key does not contain a section: trustexitcode
      问题在于.git/config。你可能编辑或程序退出改动到了它,你错误地删除了该部分的名称。
      git config --global --edit 打开全局配置文件
      删除所有文本,并粘贴以下内容:

    [core]
    repositoryformatversion = 0
    filemode = true
    bare = false
    logallrefupdates = true
    ignorecase = true
    precomposeunicode = true
    

    相关文章

      网友评论

          本文标题:Mac iOS开发命令收集-svn,git...

          本文链接:https://www.haomeiwen.com/subject/tdbfsftx.html