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

 

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