git init
git add .
git commit -m "this is 注釋"
ssh-keygen -t rsa -c "[email protected]"
git remote add origin
git checkout -b develop
git push origin develop
git branch -a
git push origin --delete 分支名
git branch -d 分支名
git pull origin master
dirgit rm -r --cached 「檔名」
git commit -m "備註"
git push origin master
git remote add origin [email protected]:***x/nothing2.git
git checkout -b develop
git fetch origin develop
git reset --hard origin/develop (放棄本地修改,遠端分支強制覆蓋)
git pull
git fetch --all
git reset --hard origin/master
git pull
git remote add upstream git@***
git fetch upstream
upstream 是鏈結名,和上面一致
git merge upstream/master
// 或者
git rebase upstream/master (推薦,會保證歷史結構清晰)
將master 分支上的內容更新,如果是其他分支對應為分支名 例如:git merge upstream/develop
git update-index --assume-unchanged src/lib/filename 忽略檔案(目錄)
git update-index --no-assume-unchanged src/lib/filename 取消忽略檔案(目錄)
git 打補丁常見問題
git format-patch --root #生成從根到r1提交的所有patch
(或者) git am ***.patch
git add .
git am --resolved
之後依次遇到衝突,匯出衝突,解決衝突迴圈操作。
git am --abort
注意: 這裡的patch打包是基於跟目錄,如果2個倉庫目錄結構不同會導致錯亂。
如果patch 無法滿足管理2個倉庫的需求,可以考慮 submodule
相關部落格:
git submodule 入門
git submodule 子模組的新增、刪除
子模組的新增
git submodule add (新增某個子模組的分支) git submodule add -b 《分支名》
其中有 module 目錄, 不過是空的, 你必須執行兩個命令:
git submodule init 用來初始化本地配置檔案;
git submodule update 則從該專案中抓取所有資料並檢出父專案中列出的合適的提交。
補充: 如果在clone project 專案的同時加上--recursive
引數, 它就會自動初始化並更新倉庫中的每乙個子模組
git reset --soft head^
撤回commit操作,您寫的**仍然保留
--mixed
意思是:不刪除工作空間改動**,撤銷commit,並且撤銷git add . 操作
這個為預設引數,git reset --mixed head^ 和 git reset head^ 效果是一樣的。
--soft
不刪除工作空間改動**,撤銷commit,不撤銷git add .
--hard
刪除工作空間改動**,撤銷commit,撤銷git add .
注意完成這個操作後,就恢復到了上一次的commit狀態。
如果commit注釋寫錯了,只是想改一下注釋,只需要:
git commit --amend
此時會進入預設vim編輯器,修改注釋完畢後儲存就好了。
vim .git/config
以下新增內容
[alias]
br = branch
ch = checkout
ps = push
pl = pull
cm = commit -m
s = status
logs = log --pretty=oneline
使用
git br
git ch
git logs
當使用git clone 產生這個問題的時候,在第一次轉殖的時候,把轉殖深度設定為1,然後再fetch
git clone --depth 1
cd example
git fetch --unshallow
直接從某個分支下面轉殖專案
git clone -b develop
改用ssh鏈結轉殖
程式設計師需要了解的幾個開源協議
今天工作的任務要寫一些跟開源協議相關的約定說明,所以在網上搜尋了一些資料以供參考,下面列出了幾個比較常見的開源協議,如果想要了解其他的協議和詳細了解這些協議,我個人推薦這個 http www.opensource.org licenses mozilla public license bsd開源協議...
ArrayList需要了解的事情
arraylist 是日常開發經常使用到的容器類。它能夠方便的進行資料的查詢 替換。但是因為其低層實現的原因在資料容量 效能 執行緒安全上都存在問題,主要涉及到下面的內容 1 預設初始容量為 0,如果未指定容量則首次初始的容量為 10 同時其也是有容量限制的 2 新增元素會涉及到陣列擴容和陣列元素拷...
Fiddler 你需要了解的
官網 平台 支援所有作業系統和瀏覽器,對window支援比較好 主要功能 工作原理 系統 不過如果fiddler非正常退出,這時候因為fiddler沒有自動登出,會造成網 頁無法訪問。解決的辦法是重新啟動下fiddler.同類的其它工具有 httpwatch,firebug,wireshark 啟動...