2017年1月13日 星期五

Git Bash 基礎指令 和 懶人包

Git Bash 基礎指令 和 懶人包

整理一下新手會用到的基礎指令,還有懶人操作的方式

安裝

一直預設安裝下來就可以了
有一個地方可以考慮取消:
這個勾選之後會在你的右鍵清單內增加選項,個人覺得看了不順眼
安裝完成之後再開啟CMD打入git就可以使用了
他有自己的介面,按下Win搜索git bash開啟他
指令在這裡操作比較好,中鍵是貼上

輸入個人資訊

輸入名稱:
git config --global user.name "YourName"
輸入Email:
git config --global user.email "YourMail@gmail.com"
查看使用者名稱:
cat ~/.gitconfig
詳細設定:
vim ~/.gitconfig
注意:先按 i 下方狀態列變成 插入 才能打字,然後在空白處輸入
[alias]
    cm = commit -m 
    s = status
    l = log
    ck = checkout
    uploadm = push origin master
    upload = push origin
    uploadtag = push origin --tag

[user]
    name = 
    email = @gmail.com
貼上後按 Ecs 然後輸入 :wq 即可存檔離開

指令介紹

先在桌面創一個git_test資料夾,並利用
cd Desktop/git_test/
切到該位置

初始化:

git init

查看狀態:

git s

新增檔案:

git add -i

新增特定檔案:

git add 檔名

提交檔案:

git cm 說明文字
空格或特殊字元前需加 \

查看記錄檔:

git i
# 每一次紀錄都有一行亂碼,那你的提交的存檔點下面會用到

恢復所有檔案到上一次提交狀態:

git reset --hard

恢復單一檔案到上一次提交狀態:

git checkout file

所有檔案回到A點,並可回來最新點

git checkout A
git checkout master
# master 是最新的點

回到A點並放棄A之後的所有點(回不來)

git reset --hard A
# 現在 master 是 A 回不去了
# 如果你的log紀錄還在可以透過 check 回去最新點

圖形介面

gitk&

新增tag

git tag -a "名稱" -m "說明"
過往的提交紀錄
git tag -a "名稱" "提交紀錄"

上傳tag

git push origin --tags

印出tag

$ git tag -l

刪除tag

git tag -d "TAG"

刪除 github 上的 tag

git push origin :refs/tags/"TAG"

新增檔案 - 介紹

  1. 查看當前狀態
  2. 更新檔案
  3. 取消檔案的加入狀態
  4. 新增檔案 (第一次加入)
  5. 選擇性更新
  6. 查看檔案有什麼變動
  7. 離開
  8. 說明

更換檔名

如果是更換檔名要同時做 2 與 4 ,否則會變成刪除後再重建,檔案的追蹤會中斷在這裡。

初始位置

初始位置是使用者文件,如果你的文件不再這裡每次都要cd切,可以更動預設位置的
找到你的git bash安裝位置,預設是在
C:\Program Files\Git\etc
找到bash.bashrc這個檔案使用SublimeText開啟或其他比編輯的程式都可以
  • Sublimtext 要用系統管理員開啟
  • 或者你複製到桌面修改玩在複蓋回去
我的 Git 倉庫都直接放在 Onedrive 上,好處是從A處到B處可以直接繼續開始
或者筆電與桌面桌戶使用時,可以直接同步不用再自己下載。
在檔案結尾處加入(注意空白)
cd OneDrive\\Git\ Repository\\
alias add='git add -i'
alias s='git status'
alias f='start "cmd /c "start "$PWD"""'
第二行是把 add 取代成 git add -i 這樣我就不用輸入這麼長了
上面的取代只是取代 git 後面的字串,git 本身沒辦法替換
比如說 git loglog 取代成 l 所以你只要輸入 git l 即可

忽略執行檔追蹤

某些檔案可是能是不必要上傳或是還原的,可直接忽略才不會每次查看狀態都會跑出來。在倉庫內新增一個記事本在裡面打上 *.exe ,然後儲存檔名為 .gitignore 即可。

2017年1月12日 星期四

SublimeText Protable 攜帶版 [內帶 g++, java, python, opencv]

SublimeText Protable 攜帶版 [內帶 g++, java, python]


懶人包,都幫你封裝好了,系統變數也不用設定了
可以直接用來編譯
  • C/C++
  • java
  • python

快速鍵

編譯使用 F7 or Ctrl+B
C and CPP 初始化可以使用
  1. Alt+h 初始化頭註解
  2. 先輸入
    ``
    
    在按 Tab 可以自動初始化主程式

選擇編譯模式

按下 Ctrl+Shift+b 可以選擇
第一個會直接把結果顯示在Sublimetext上,除錯效率較快
不過會造成無法輸入參數以及沒辦法強制結束迴圈等
第二個會開一個CMD視窗把結果顯示在CMD視窗上

C/C++

java

python

未来の自分になっておく

未来の自分になっておく


2016年給自己寫下的一句話,迷迷糊糊的一句話,大抵至今天才忽然意識到了2016年的願望的自己居然真的做到了,我也是現在才意識到願望是什麼,很多事情想清楚地想明白卻講不出來。
  • 寫了很多文章與金句
  • 真的有辦法給出即時反饋了
  • 真的做到"實踐才是最好的說"
  • 部落格真的建起來了

金句

2016年寫了50句,最初的第一句話只不過是因為無意識的說了一句話,信任這種東西,一旦失去了就再也回不來了。
結果過了一個禮拜,有類似的事件發生,他居然原封不動的把這句話給複述了一次,肯定是擋下有給他些感動才有辦法記住,也或許因為這個契機才有這50句,還好你當時記住了。
啟發自國中的時候太白目常常點別人另一側肩膀,再加上動畫黑執事主角的名言,一旦失去了就再也回不來了
文章記事大約100多篇來著,我把遇到的問題、解決的問題,想到的問題都記錄下來了。
寫作這事兒還真不好開始,沒想到居然是從吵架開始的XD 一篇幾千字的寫下自己的想法,哪裡做對了,哪裡做錯了,莫名其妙居然就學起來了。只可惜那21篇記事隨著硬碟的事故去了…估計也有2萬字吧。

及時反饋

年底的時候跟朋友聚聚吃飯,回家的時候跟載我回來朋友在門口講了3小時,在這小時裡面我禪數一整年讀到的書的精華內容,並加上自己實驗後的驗證結果,也根據這些內容回答了她一些問題。
我居然真的把一年讀的書都過了一次了,毫無停頓的自然地,不中斷的。現在想起來才發現這不正是我以前一直所憧憬的麼。

實踐才是最好的說

很多時候一件事情,尤其是越簡單的事情是越難傳遞的,正因為過於簡單以至於,為什麼這簡單的事情還需要你來說?
我一直覺得阿,負面的評價就負面吧,仔細看過想過比較重要,但更多數的人是一旦聽到負面評價,就只想著如何反擊。
更多時候或許是邏輯思維能力,抑或是元認知的不足導致的吧,不知道從什麼時候開始意外開啟元認知的能力,變得什麼事情都會想的深入,更多時候收到負平想的不是,如何證明自己,而是我為什麼做錯了,我真的做錯了?
元認知,回溯到我最久以前的記憶,小一、二的時候,記得有一次我哥惹得我很生氣,那時候我想摔東西斯課本,但同時我卻很清晰地記得我問了自己,為什麼我要撕課本,為什麼我要摔東西,得到的答案是因為別人也這麼做。那課本有我那時候最愛的色紙撕了就沒了。雖然我最後還是把她撕了然後自己後悔在那邊哭QuQ。不過想想真的很可怕啊,一個小屁孩居然可以做到這種思維,或許那是我第一次開啟元認知吧。這東西一但不小心開了就很難很難再關掉了。
大抵至今天,有人這麼地告訴我:
就是ㄚ當別人說你哪裡哪裡錯 或是像XXX那樣 你不會一下就很反彈的否決對方 很能接受別人講你哪裡錯
像我就會 不管對方講的對還是錯 我會先很反彈的否定對方 事後才會想自己對還是錯
這很可怕的,我清楚地知道這話肯定不是一次兩次的觀察得到的,而是太多次的觀察。我這才真的相信我做到了。這話也是最難講的,誰要是對誰講這種話,一定不會有什麼好結果的。要麼聽聽就過去,要麼覺得妳虛偽。
种下种子,坚决不提结论,让他自己想 |李笑來2015.11

部落格

沒想到部落格真的建起來了,裡面只是有著我解決過問題的點點滴滴的文章,沒想到一天居然還能有200多的流量。

El Psy Congroo

2017年1月8日 星期日

硬碟MBR GPT 差異 [Windwos無法安裝至此硬碟解決方法]

硬碟MBR GPT 差異 [Windwos無法安裝至此硬碟解決方法]


網上蒐一下其實很多錯誤的知識XD,大家都是诶好像解決於是就解決了,差不多都這種模玲兩可的答案,昨天群裡有人正好問了相關問題,順手打了一篇。把他詳細展開機說好了

先說最懶的萬用解決方案

  • 你把那顆硬碟分區全砍了,重新啟動,重建分區就解決了
  • 使用USB而不要用光碟
  • 如果是Win7映像 (非SP1版本) 可能還是不行,請直接使用W8以上的,或SP1
正式開始前先講幾個必要知識,你會清楚知道為什麼我都那樣那樣做了還不行,為什麼大家摸索這麼久還沒摸索出來(變因有點多)。

如何安裝

開機時使用開機選單開機,比如說ASUS的是F8,插入隨身碟或光碟按下F8你會發現,出現好幾個隨身碟,其中一個有帶UEFI字樣一個沒有,這裡是關鍵
硬碟的安裝方式由,用什麼方式啟動決定
  • UEFI字樣啟動→GPT
  • 沒有UEFI字樣→MBR
就是說你用UEFI啟動Windows的安裝隨身碟或光碟就只能用UEFI安裝,所以很多人的問題出在這裡明明是MBR的格式,安裝時沒有選擇好直接用UEFI啟動進去了。或者反過來第一次裝的是GPT硬盤,但是自己安裝時卻步小使用沒有UEFI字樣的進入了,於是兩種情況都會直接導致安裝失敗。(注意光碟好像支持UEFI啟動…)
於是常常聽到,我上次這樣裝明明可以
運氣問題上次選對了UEFI字樣不明顯,第二個是基於某些原因被迫的…這個比較慘
還有一種狀況,你手上的系統是 W7非SP1版本的這個時期的W7並沒有支持UEFI啟動,就是說你無論如何都只能用MBR啟動了。如果偏偏UEFI設定裡面沒有支持傳統舊的BIOS(CSM選項),你會不管怎麼安裝都失敗。

解決方案:

  • 自己幫你的W7做EFI導引文件
  • 使用有EFI導引文件的映象檔(W7 SP1)
  • 直接升級使用W8以上系統

被迫的:

我真遇過朋友拔了記憶體,因為偵測到硬體變動UEFI被重設原廠,原廠預設CSM是關閉的(選用超快速啟動會強迫關閉CSM),他的w7是MBR然後就再也開不了機了。
CSM:模擬傳統BIOS
超級快速啟動:Ultra fast boot (搶奪一切資源只求速度,連鍵盤也不讀了那種)

BIOS啟動

也就是傳統BIOS啟動,BIOS做完他該做的事情之後她會依據設定內的硬碟啟動,此時會找到硬碟內被標記為開機磁區的磁區內的BCD開機檔,最後在導引到win核心啟動
在Windows上開機檔的表叫做BCD (Linux上是grub),可以透過修改BCD修改啟動程序。假如我修改成另一顆硬碟則過程變成
Bios -> A盤 -> A盤被標記的分區 -> BCD -> 啟動核心(可以不同分區也可以不同盤)
所以要做系統選單可以從BCD下手。此外還有一個限制BCD所處的磁區必須是主分割,作業系統所處的地方並沒有要求必須是主分割區,也可以是邏輯分區。
所以MBR硬碟並沒有限制至多只能裝4個系統,是因為微軟的官方安裝程式會強迫你只能用主分區,你沒辦法用官方光碟這樣搞的,必須手動個別安裝系統在個別指定BBD到各個分區。
此外~仔細想想的話發現一個缺點,BIOS居然沒有權限管控要開哪個系統

EFI啟動

傳統的BIOS存在著某些缺點,尤其在大硬碟上真的出事了,他沒有辦法辨識超過2TB的分區,這是因為它本身的是16進位系統的關係,於是有了新的系統EFI,現在的則是EFI的改良版本UEFI,所以這是新名稱了不能在叫成BIOS了,UEFI他叫UEFI[^UEFI]。
同時也發展了一個新的硬碟格式GPT,用來給UEFI系統使用的格式,支持2T以上的分區
EFI啟動不同於MBR真正實現由UEFI管控了,可以直接由UEFI選擇我要啟動哪個磁區,就是你會在UEFI內看到系統選單而不是硬碟選單。
UEFI的出現解決了很多問題,這裡還新增了一些功能
快速啟動
快速啟動(混合開機)的原理是說原本電腦啟動時必須檢測硬體設備、載入一些有的沒的才能夠繼續開機,快速啟動會在關機時直接將資訊寫在硬碟上,下次開機時直接讀取,大概省4~7秒,那種按開機閃一下到桌面就這樣來的。
GPT硬盤的EFI啟動必需額外再硬盤第一分區切一個 ESP 磁區UEFI會直接讀取,所以如果要建多系統直接在ESP分區內下手把開機文件設定好複製進來即可
安裝linux時會看到兩份啟動文件,一個是grub64一個是 s 開頭的,兩個都可以啟動只是grub沒認證,如果有開安全啟動會過不了。

為何大家說W8以上筆電不能裝linux

有兩個問題
  • ESP分區
  • 安全啟動
  1. Linux要手動用UEFI啟動USB(不能是光碟)
  2. 安裝時要自己手動建ESP分區(Win會自動建)
  3. UEFI要選擇有認證的選單
由於以上3項原則過於嚴謹以至於一般狀況下瞎猜猜不出來,所以大家得到的結論乾脆就是W8的筆電不能裝LINUX。
除非開CSM+關安全啟動,強迫降級系統回舊時代,這是大家找到一條路也是google唯一能見的。可是你這一關不是連W8都要重灌了,還真出了不少安裝linux的教學連W8一起降級重灌的文章。(此外GPT、MBR是可以無損轉換的)
偏偏有些筆電安全動鎖住不給你關(更多的是要設置密碼UEFI密碼才能解鎖),於是又有更多的人說了 W8不能安裝linux