设为首页 收藏本站
查看: 1269|回复: 0

[经验分享] 常用Git指令

[复制链接]

尚未签到

发表于 2018-1-13 12:24:36 | 显示全部楼层 |阅读模式
1.目录和文件
  显示当前目录路径:
  

pwd  

  创建/打开目录:
  

//创建目录  

mkdir IOS  

//打开目录  
open IOS
  

  移动文件:
  

//File为要移动的文件  TargetPath为要移动到的目录路径  
mv File TargetPath
  


2.Git库
  git配置:
  

git config --global user.name "Your Name"  
git config --global user.email "email@example.com"
  

  进入Git远程服务器
  

ssh git@git.gof.net  

  初始化远程git仓库:
  

sudo git init --bare sample.git  

  git仓库赋权:
  

sudo chown -R git:git sample.git  

  把目录变成git仓库:
  

git init  

  添加文件到仓库:
  

git add readme.txt  

  把修改提交到仓库。-m后面输入的是提交的说明,可以输入任意内容:
  

git commit -m "修改Key名称"  

  查看仓库当前的状态:
  

git status  

  查看文件修改的内容(一般用 git status指令查看到修改的文件,然后用git diff指令查看文件具体的修改内容):
  

git diff UIViewController+GofHookForGA.m  

  显示从最近到最远的提交日志:
  

git log  

  同上,不同的是仅显示日志摘要信息:
  

git log --pretty=oneline  

  回退到上一个版本:
  

//HEAD表示当前版本;上一个版本就是HEAD^,上上一个版本就是HEAD^^,当然往上100个版本写100个^比较容易数不过来,所以写成HEAD~100  
git reset --hard HEAD^
  

  回退到指定commit>  

//那串数字是commit>

//版本号没必要写全,前几位就可以了,Git会自动去找。当然也不能只写前一两位,因为Git可能会找到多个版本号,就无法确定是哪一个了  
git reset --hard 3628164
  

  记录每一次命令:
  

git reflog  

  把readme.txt文件在工作区的修改全部撤销:
  

git checkout -- readme.txt  

  把暂存区的修改回退到工作区:
  

git reset HEAD readme.txt  

  直接删除文件:
  

rm test.txt  

  从版本库中删除文件,需要git commit:
  

git rm test.txt  

  本地库和远程库相关联,远程库名称为origin:
  

git remote add origin https://github.com/GofLee001/swiftdemo.git  

  把本地库master的所有内容推送到远程库:
  

//加上-u参数,Git不但会把本地的master分支内容推送的远程新的master分支,还会把本地的master分支和远程的master分支关联起来,在以后的推送或者拉取时就可以简化命令。  
git push -u origin master
  

  把本地master分支的最新修改推送至GitHub:
  

git push origin master  

  克隆仓库到本地:
  

//1.要克隆一个仓库,首先必须知道仓库的地址,然后使用git clone命令克隆。  

//2.Git支持多种协议,包括https,但通过ssh支持的原生git协议速度最快。  
git clone git@github.com:GofLee001/swiftdemo.git
  

  创建dev分支,然后切换到dev分支:
  

git checkout -b dev  

  创建dev分支:
  

git branch dev  

  切换到dev分支:
  

git checkout dev  

  列出所有分支,当前分支前面会标一个*号:
  

git branch  

  合并指定分支dev到当前分支:
  

git merge dev  

  删除dev分支:
  

git branch -d dev  

  查看分支的合并情况:
  

git log --graph  

  把当前工作现场“储藏”起来,等以后恢复现场后继续工作:
  

git stash  

  查看保存的工作现场:
  

git stash list  

  恢复工作现场并删除stash:
  

git stash pop  

  

//上面指令等效于下面这两条指令  
git stash apply   //恢复工作现场
  
git stash drop  //删除stash
  

  强行删除没有合并过的分支dev:
  

git branch -D dev  

  查看远程库的信息:
  

git remote  

  查看远程库的详细信息:
  

git remote -v  

  推送自己的修改到远程:
  

git push origin branch-name  

  在本地创建和远程分支对应的分支:
  

git checkout -b branch-name origin/branch-name  

  建立本地分支和远程分支的关联:
  

git branch --set-upstream branch-name origin/branch-name  

  从远程拉取分支:
  

git pull  

  tag相关操作:
  

//查看所有标签  
git tag
  

  
//打一个新标签
  
git tag v1.0
  

  
//给指定的commit打标签
  
git tag v0.9 6224937
  

  
//创建带有说明的标签,用-a指定标签名,-m指定说明文字

  
git tag -a v0.1 -m "version 0.1>  

  
//推送tag到远程
  
git push origin v1.0
  

  
//推送所有本地标签到远程
  
git push origin --tags
  

  
//删除本地标签
  
git tag -d v0.1
  

  
//删除远程的标签
  
git push origin :refs/tags/v0.1
  

  让Git显示颜色:
  

git config --global color.ui true  

  更新 submodule:
  

git submodule update --remote  

  设置别名,这里status的别名是st:
  

git config --global alias.st status  

  删除submodule:
  

git submodule deinit 私有库名称  
git
rm 私有库名称  
git
rm --cached 私有库名称  

rm -rf .git/modules/私有库名称  


3.操作Podfile文件
  创建Podfile文件:
  

touch Podfile  

  用Xcode打开Podfile文件:
  

open -a Xcode Podfile  


4.提交podspec文件:
  

//1.提交到Github  
pod lib lint GofShakeAndEmail.podspec  //pod验证  有时候需要加一下参数:--use-libraries --allow-warnings
  

pod trunk push GofShakeAndEmail.podspec //上传podspec文件到trunk服务器//2.提交到私有服务器  pod repo push GofSpecs GofNetComponent.podspec
  


5.其他指令

5.1修改hosts文件
  

sudo vim /etc/hosts  

  删除指令:
  

x    删除光标下的字符 ("dl" 的缩写)  
X    删除光标前的字符 (
"dh" 的缩写)  
D    从当前位置删除到行尾 (
"d$" 的缩写)  
dw    从当前位置删除到下一个单词开头
  
db    从当前位置删除到前一个单词的开头
  
diw    删除光标上的单词 (不包括空白字符)
  
daw    删除光标上的单词 (包括空白字符)
  
dG    删除到文件末
  
dgg    删除到文件首
  

  

"dl"    删除字符 (缩写: "x")            |dl|  
"diw"    删除内含单词                *diw*
  
"daw"    删除一个单词                *daw*
  
"diW"    删除内含字串 (见 |WORD|)        *diW*
  

  
"daW"    删除一个字串 (见 |WORD|)        *daW*
  
"dd"    删除一行                |dd|
  
"dis"    删除内含句子                *dis*
  
"das"    删除一个句子                *das*
  
"dib"    删除内含 '(' ')' 块            *dib*
  
"dab"    删除一个 '(' ')' 块            *dab*
  
"dip"    删除内含段落                *dip*
  
"dap"    删除一个段落                *dap*
  
"diB"    删除内含 '{ ' ' }' 大块            *diB*
  
"daB"    删除一个 '{ ' ' }' 大块            *daB
  


5.2修改软件来源
  

sudo spctl --master-disable  


5.3模拟器安装app
  安装指令(参考):
  

xcrun simctl install booted App路径  

  如遇类似下面的错误提示:
  No devices are booted。
  执行指令(参考):
  

sudo xcode-select -switch /Applications/Xcode.app/Contents/Developer  

  安装包需要用Xcode直接运行生成,不能用Archive方式打包(这种的安装到模拟器之后会直接崩溃)。

5.4清除CocoaPods缓存
  

pod cache clean WCDB --all  
rm
-rf ~/Library/Caches/CocoaPods  
pod repo update
  
pod intall
  

运维网声明 1、欢迎大家加入本站运维交流群:群②:261659950 群⑤:202807635 群⑦870801961 群⑧679858003
2、本站所有主题由该帖子作者发表,该帖子作者与运维网享有帖子相关版权
3、所有作品的著作权均归原作者享有,请您和我们一样尊重他人的著作权等合法权益。如果您对作品感到满意,请购买正版
4、禁止制作、复制、发布和传播具有反动、淫秽、色情、暴力、凶杀等内容的信息,一经发现立即删除。若您因此触犯法律,一切后果自负,我们对此不承担任何责任
5、所有资源均系网友上传或者通过网络收集,我们仅提供一个展示、介绍、观摩学习的平台,我们不对其内容的准确性、可靠性、正当性、安全性、合法性等负责,亦不承担任何法律责任
6、所有作品仅供您个人学习、研究或欣赏,不得用于商业或者其他用途,否则,一切后果均由您自己承担,我们对此不承担任何法律责任
7、如涉及侵犯版权等问题,请您及时通知我们,我们将立即采取措施予以解决
8、联系人Email:admin@iyunv.com 网址:www.yunweiku.com

所有资源均系网友上传或者通过网络收集,我们仅提供一个展示、介绍、观摩学习的平台,我们不对其承担任何法律责任,如涉及侵犯版权等问题,请您及时通知我们,我们将立即处理,联系人Email:kefu@iyunv.com,QQ:1061981298 本贴地址:https://www.yunweiku.com/thread-434622-1-1.html 上篇帖子: talk is cheap, show me the code 下篇帖子: Git版本控制系统之基本使用
您需要登录后才可以回帖 登录 | 立即注册

本版积分规则

扫码加入运维网微信交流群X

扫码加入运维网微信交流群

扫描二维码加入运维网微信交流群,最新一手资源尽在官方微信交流群!快快加入我们吧...

扫描微信二维码查看详情

客服E-mail:kefu@iyunv.com 客服QQ:1061981298


QQ群⑦:运维网交流群⑦ QQ群⑧:运维网交流群⑧ k8s群:运维网kubernetes交流群


提醒:禁止发布任何违反国家法律、法规的言论与图片等内容;本站内容均来自个人观点与网络等信息,非本站认同之观点.


本站大部分资源是网友从网上搜集分享而来,其版权均归原作者及其网站所有,我们尊重他人的合法权益,如有内容侵犯您的合法权益,请及时与我们联系进行核实删除!



合作伙伴: 青云cloud

快速回复 返回顶部 返回列表