【git】
创建仓库之后,常用命令:
git 有三个状态:已提交(committed)、已修改(modified)和已暂存(staged);对应下图四个状态:本地工作目录,缓存区(索引),本地仓库,远程仓库
git clone ssh you git address # 将仓库clone到本地
git add readme.txt # 添加文件
git commit -m"add readme" #评论 第一次提交的时候都必须 -m ,新文件夹
#git push -u origin master # 首次提交
git push origin master:refs/for/master #提交评审
如果是新文件夹,包括追写别人工程代码:1. git add * ; git commit -m"icafe-id" ; git pull ; git push origin master:refs/for/master ;
2. 再次更新: git add * ; git commit --amend ; git pull ; git push origin master:refs/for/master
git pull origin master #将远程仓库里面的项目拉下来
dir #查看文件目录
git rm -r --cached wanna_delete_file #删除文件
git commit -m"delete file"
git commit --amend # 进入vi 添加工程核心目的
git rm -rf filepath # 删除已经提交的文件夹或者文件(git rm -r file)
git commit --amend
git push origin master:refs/for/master
错误1:Pull is not possible because you have unmerged files.Please, fix them up in the work tree, and then use 'git add/rm <file>' as appropriate to mark resolution, or use 'git commit -a'
错误2:
git log 查看上一次提交 commit id A
git reset --soft A
git commit --amend
git push origin master:refs/for/master
解决办法:1.pull会使用git merge导致冲突,需要将冲突的文件resolve掉 git add -u, git commit之后才能成功pull.
问题3:push代码时候,master分支发生更改,而本地提交时未做最新与否的检查,会出现本地最新提交结点与master最新结点错位,git commit --amend中会出现其他文件夹文件,导致提交冲突;
解决办法:
- git log -- 查看上一次提交commitid
- git reset commitid
- 冲突的其他文件夹文件,采用 git checkout -- <file> 排除非本文件夹下文件
- git status 判断是否add 成功,因有可能显示出 (git add 指定文件夹下文件)
- 后续正常git commit --amend
- git push
2.如果想放弃本地的文件修改,可以使用 git reset --hard FETCH_HEAD,FETCH_HEAD表示上一次成功git pull之后形成的commit点。然后 git pull .
注意:git merge会形成MERGE-HEAD(FETCH-HEAD) 。git push会形成HEAD这样的引用。HEAD代表本地最近成功push后形成的引用。
git pull --rebase # 将远程最新分支拉倒本地,覆盖本地做为最新部分
git status # 命令用于显示工作目录和暂存区的状态。使用此命令能看到那些修改被暂存到了, 哪些没有, 哪些文件没有被Git tracked到。git status不显示已经commit到项目历史中去的信息
git log | head -10 # 项目历史10条信息
【Linux-shell】
alias fpwd='__fpwd(){ echo "ftp://`hostname`:`pwd`/$1";};__fpwd'
fpwd 文件名 #生成ftp地址
##ftp://kk-kk-k2q-70.k01.xxxx.com:/home/disk1/work1/yyyy/data/word.images
shit+g # 文件最后一行
g g # 文件第一行
crontab:设置例行调度任务
wget 失败:filepath目录不存在, 给该目录加权限:chmod +rx filepath 即可,因wget 是按照权限来的
#vim
/\<the\> vim 中精确查找 the
vsp filename # 左右打开不同文件
ctrl+w+[h,l] # 光标跳转到左、右文件
:9,15 copy 16 或 :9,15 co 16 #将第9行至15行复制到第16行
u #撤销上一步的操作
Ctrl+r #恢复上一步被撤销的操作
查找文件内容:
grep -rn "you_wanna_search_content" *
-r 是递归查找
-n 是显示行号
* : 表示当前目录所有文件,也可以是某个文件名
kill %1 杀当杀一个后台程序,这个后台程序的“工作号码(jobnumber)”是1号;这条命令往往是用在输入如下命令之后:jobs -l
jobs用来查看目前的后台工作状态,显示结果里面最前面的数字号就是对应进程的jobnumber,然后就可以用kill %jobnumber的格式来杀死jobnumber对应的后台工作。
【MySQL】
mysql> show databases;
+--------------------+
| Database |
+--------------------+
| information |
| ImgLib |
| ImgUsr |
+--------------------+
mysql> use ImgLib;
mysql> show tables;
+-------------------------+
| Tables_in_ImageSegments |
+-------------------------+
| images0 |
| images1 |
| images2 |
| images4 |
+-------------------------+
select * from images0 where imageid=1234 \G