git | Linux 常用命令汇总

【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

 

發表評論
所有評論
還沒有人評論,想成為第一個評論的人麼? 請在上方評論欄輸入並且點擊發布.
相關文章