git command

  • git remote -v
    欲瞭解目前已加進來的遠端儲存庫,可執行 git remote 命令。 它會列出當初加入遠端儲存庫時指定的名稱。 若目前所在儲存庫是從其它儲存庫複製過來的,至少應該看到 origin,也就是 Git 複製儲存庫時預設名字。
    也可以再加上 -v 參數,將會在名稱後方顯示其URL。
  • git diff
    git diff不會顯示最後一次commit後的所有變更;只會顯示尚未存入暫存區(即unstaged)的變更。這麼說可能會混淆,舉個例子來說,若讀者已使用 git add . 暫存(stage)所有的變更,輸入git diff不會顯示任何資訊。
  • git diff --cached
    若讀者想比對暫存區域(stage)及最後一次提交(commit)的差異,可用git diff --cached指令(Git 1.6.1之後的版本,可用較易記的git diff --staged 指令)
  • git diff old-commit new-commit path
    在某個目錄比對 2 個 commit 的差異。
  • git reset --soft HEAD^
    取消最後一次 commit 並回到 Changes to be committed (stage)狀態。
  • git reset HEAD ...
    從 stage 狀態回到 unstage 狀態。
  • ...

git push the first commit

No refs in common and none specified; doing nothing. Perhaps you should specify a branch such as 'master'. fatal: The remote end hung up unexpectedly error: failed to push some refs to 'git@a.b.c.d:enos/xxx.git' 解決方式:git push --set-upstream origin master

git protocol

  • git clone git@server:path/to/repo
  • git clone ssh://user@server/path/to/repo

git pull error

$ git pull remote: Counting objects: 38, done. remote: Compressing objects: 100% (38/38), done. remote: Total 38 (delta 35), reused 1 (delta 0) Unpacking objects: 100% (38/38), done. From 210.140.73.187:fg/fgn1300 * branch master -> FETCH_HEAD Updating ff5f62d..ca9636b error: Your local changes to the following files would be overwritten by merge: source/user/lighttpd-1.4.20/cgi_src/internet.c Please, commit your changes or stash them before you can merge. Aborting 解決方式:git stash
  • git add source/user/lighttpd-1.4.20/cgi_src/internet.c
  • git stash save 'tmp'
  • git pull
  • git stash pop stash@{0}

參考資料

創作者介紹
創作者 台南小新 的頭像
台南小新

邱小新の工作筆記

台南小新 發表在 痞客邦 留言(0) 人氣()