gitee删除失效的仓库
删除仓库(注意修改2处):
https://gitee.com/jianan/仓库名/settings#remove@仓库名
例子:
https://gitee.com/jianan/zfoo/settings#remove@zfoo
多仓库组织模式
方式1:
多个仓库以submodule的方式组织起来,这样分离不同人的权利看到不同的仓库。
方式2:
主仓库忽略子仓库的模式,主仓库是公用的代码,子仓库是一个个会变化的模块。
Mac终端配置
iterm2
iTerm2 - macOS Terminal Replacement
oh my zsh
Oh My Zsh - a delightful & open source framework for Zsh
Homebrew
macOS(或 Linux)缺失的软件包的管理器 — Homebrew
mac下搜索神器: the_silver_searcher安装
brew install the_silver_searcher
cd /Users/jianan/Documents/work/naval_res
ag -i 搜索内容
控件命名规则
btn_ => Button
lbl_ => BitmapFontLabel
lbl_ => Text
img_ => Image
spr_ => Sprite
node_ => Node
pnl_ => Panel
var_ => 其他类型
chk_ => CheckBox
pag_ => PageView
lod_ => LoadingBar
sld_ => Slider
inp_ => TextField
par_ => Particle
til_ => Map
adi_ => Audio
scr_ => ScrollView
adb用法小结
➜ ~ /Users/jianan/Documents/Android/sdk/platform-tools
➜ platform-tools ./adb logcat | grep cocos
platform-tools ./adb install /Users/jianan/Desktop/naval-release-signed\
git常用操作
1.分支合并(只合代码库和加密库.例如:合并V1.2.3Oversea到master上)
注意:这个git merge master指的是把本地的master代码合并到当前分支,所以: 必须先切换master拉取下才行。
cd naval(V1.2.3Oversea)
git pull
cd naval(master)
git merge V1.2.3Oversea
解决冲突
cd naval_encrypt(V1.2.3Oversea)
git pull
cd naval_encrypt(master)
git merge V1.2.3Oversea
解决冲突
资源的合并技巧:当你确定要用V1.2.3Oversea上的东西,比如资源时,可直接将其覆盖到master上,然后提交更改即可。
比较: merge 和 rebase(变基,从分叉处把自己的提交取消掉,然后重新产生新的commit到后边)
2.命令合并部分修改(例如:将V1.2.3Oversea上别人某个提交合并到master上)
cherry-pick
cd naval(V1.2.3Oversea)
git pull
查看提交的commit hash值,例如是XXX
cd naval(master)
git cherry-pick hash值
解决冲突
3.删除分支
git branch -D xx && git push origin :xx
4.回退到某个提交
git checkout
git checkout hash值
git checkout V1.4.7恢复
查看一个具体的提交的commit hash值(已经提交git的也撤销远程的) 例如XXX
git reset (注意后面那个origin dev 需要指定下远程分支):
git reset --hard 0cde337c48fe626cd25d4e2c0ff5f67786f2d978 && git push -f origin dev
错误:经过验证:用这个错误的,看着是回退了,但是执行git pull又拉取下来了。尴尬!!!
git reset --hard <commit_id> && git push origin HEAD --force (这个是错误的,一拉取会回来)
撤销merge 还可以用
git merge --abort
我发现别人还git checkout 到commit hash值,然后又这样打入分支名称来恢复
妙用sourcetree切换分支时恢复(从汪强那学到的)
使用source tree切换分支时,提示我保存,我选择不保存则恢复了(从汪强这学到的)
5.撤销commit(git add .后撤销某个commit)
git reset .
6.拉取别人创建的分支
git fetch
git checkout -b oversea_V1.1.1 orign/oversea_V1.1.1 这个可以让本地看到V1.4.5分支
这样更靠谱,直接指定远程分支和本地分支名字:
git fetch origin xx:xx
7.创建分支并推送到远程
git checkout -b dev && git push origin dev && git branch --set-upstream-to=origin/dev dev
8.删除分支 本地和远程 保持一致
git branch -D test && git push origin :test
保证本地和远程分支一致,防止远程分支都删除了但是还能checkout过去
git remote prune origin
9.仓库更换地址,设置新的url
git remote set-url origin git@git.oschina.net:hero/RTSPowerCI.git
git push --all
10.查看远程git地址
git remote show origin
11.git stash
git stash //隐藏修改 这样可以起一个名字 git stash save "aaa"
git stash list //查看修改列表
git stash pop //恢复修改(也就是可以查看到更改)
12.撤销本地所有更改(自己做测试什么的,有了一些更改,甚至删除了一些文件)
git stash -u && git stash clear
13.查看远程分支列表
git branch -va
14.查看本地分支
git branch
15.强制添加一个在gitignore中忽略的文件
假如在.gitignore文件中被忽略了, 比如忽略Icon* ,这样就会忽略所有以icon开头的图片,git默认不区分大小写的。那么查看git状态是查看不到更改的,为了能添加到git中帮你托管,这样就会强制添加进来,帮你托管
git add -f 文件路径
16.rm和git rm的区别
用 git rm 来删除文件,同时还会将这个删除操作记录下来;
用 rm 来删除文件,仅仅是删除了物理文件,没有将其从 git 的记录中剔除。
17.当我们需要删除暂存区
或分支
上的文件, 但本地又需要使用, 只是不希望这个文件被版本控制, 可以使用
git rm --cached file_path
18.查看日志(某个人、所有人、某个hash)
查看具体人提交的日志
git log --author="jianan"
查看所有人提交日志
git log
查看具体hash提交的东西
git log -p hash值
19.带submodule的拉取
➜ work git:(master) ✗ git submodule update --init
➜ work git:(master) ✗ cd naval
➜ naval git:(master) ✗ git submodule update --init
Submodule 'frameworks/cocos2d-x' (git@git.oschina.net:young40/cocos2d-x.git) registered for path 'frameworks/cocos2d-x'
Cloning into 'frameworks/cocos2d-x'...
remote: Counting objects: 11975, done.
remote: Compressing objects: 100% (7566/7566), done.
20.使用submodule管理项目
step1:
在任何一个目录下新建一个文件夹,比如:work,然后cd 切换到工作目录。(切换到的目录,以后再进行操作的话,就会在当前目录生效)
step2:
仓库初始化
git init
step3:
submodule初始化
git submodule init
step4:
将http地址上的库添加到submodule上
git submodule add (http地址)
21.查看远程所有分支列表
git branch -r
22.git pull --rebase 让提交成一条直线
解决冲突
解决冲突
git rebase --continue
git rebase --skip
徐源做法
git fetch upstream
git rebase upstream/master
23.查看分支是谁创建的
git for-each-ref --format='%(committerdate) %09 %(authorname) %09 %(refname)' | sort -k5n -k2M -k3n -k4n
24.合并分支,将多个提交合并为一条
git merge --squash branchname
25.查看某个commit更改的文件名字(不查看更改内容 )
git diff-tree -r --no-commit-id --name-only HASH值
26.设置大小写敏感
git config --global core.ignorecase false
27.git revert 实现取消某次提交(可以是中间的一次提交)
git revert -n XXX
git commit -m "cancel LF CRLF"
git push
revert应用场景1:
A B C D E F G这几次提交,假如你发现自己C D等中间几个版本提交了错误的代码,但是后面又有别人的提交,那么用revert就可以取消某中间的几次提交,如上,则是取消XXX这次提交,生成一次新的提交
revert应用场景2:
有的不让用-f选项,但是你又想回退这个版本,因此没办法用git reset --hard 和 git push -f来回退,这时用revert取消这些提交也是一种办法
28.撤销git push(但是我不想push了)
git reset --hard HEAD^