1. detached HEAD
http://blog.csdn.net/csfreebird/article/details/7583363
使用 git checkout master
2. rebase 和 mearge
http://blog.csdn.net/wh_19910525/article/details/7554489
3. 撤消本地所有修改(未commit)
git clean -df
git checkout --force dev
git reset --hard origin/dev
4. 撤消 commit
a)git log
b)git reset --hard commit_id
http://blog.csdn.net/felix_f/article/details/8777463

在這個圖中,我們可以看到部分 Git 指令是如何影響工作區和暫存區(stage, index)的。
- 圖中左側為工作區,右側為版本庫。在版本庫中标記為 "index" 的區域是暫存區(stage, index),标記為 "master" 的是 master 分支所代表的目錄樹。
- 圖中我們可以看出此時 "HEAD" 實際是指向 master 分支的一個“遊标”。是以圖示的指令中出現 HEAD 的地方可以用 master 來替換。
- 圖中的 objects 辨別的區域為 Git 的對象庫,實際位于 ".git/objects" 目錄下,我們會在後面的章節重點介紹。
- 當對工作區修改(或新增)的檔案執行 "git add" 指令時,暫存區的目錄樹被更新,同時工作區修改(或新增)的檔案内容被寫入到對象庫中的一個新的對象中,而該對象的ID 被記錄在暫存區的檔案索引中。
- 當執行送出操作(git commit)時,暫存區的目錄樹寫到版本庫(對象庫)中,master 分支會做相應的更新。即 master 指向的目錄樹就是送出時暫存區的目錄樹。
- 當執行 "git reset HEAD" 指令時,暫存區的目錄樹會被重寫,被 master 分支指向的目錄樹所替換,但是工作區不受影響。
- 當執行 "git rm --cached <file>" 指令時,會直接從暫存區删除檔案,工作區則不做出改變。
- 當執行 "git checkout ." 或者 "git checkout -- <file>" 指令時,會用暫存區全部或指定的檔案替換工作區的檔案。這個操作很危險,會清除工作區中未添加到暫存區的改動。
- 當執行 "git checkout HEAD ." 或者 "git checkout HEAD <file>" 指令時,會用 HEAD 指向的 master 分支中的全部或者部分檔案替換暫存區和以及工作區中的檔案。這個指令也是極具危險性的,因為不但會清除工作區中未送出的改動,也會清除暫存區中未送出的改 動。
撤消本地修改--強制切換到目前分支:
git checkout HEAD .
撤消本次修改--對于未送出的,撤消。
git reset --hard
撤消已Push 的某次Push。
http://blog.csdn.net/qqxiaoqiang1573/article/details/68074847
統計
http://blog.csdn.net/qq_37023538/article/details/53930200
Git 子子產品的權限控制
https://git-scm.com/book/zh/v2/Git-工具-子子產品
https://juejin.im/post/5aa11f486fb9a028e0140e34
Git 忽略檔案權限的配置
配置: core.filemode = false
https://my.oschina.net/surjur/blog/401757
回車格式設定
git config --global core.autocrlf true
把 --global 去掉, 即設定到目前項目.
删除遠端檔案:
http://blog.csdn.net/xing_sky/article/details/50069617
使用 git rm 指令即可,有兩種選擇.
一種是 git rm --cached "檔案路徑",不删除實體檔案,僅将該檔案從緩存中删除;
一種是 git rm --f "檔案路徑",不僅将該檔案從緩存中删除,還會将實體檔案删除(不會回收到垃圾桶)
配置SSH Key
https://www.cnblogs.com/horanly/p/6604104.html
https://www.putty.org/
ssh-keygen -t rsa -C
"[email protected]" -f ~/.ssh/id_rsa
ssh-copy-id -i ~/.ssh/id_rsa.pub -p 22 root@server_ip
ssh-copy-id 的作用是: 把id_rsa.pub的檔案内容copy到伺服器 ~/.ssh/authorized_keys
其它生成工具: http://www.cnblogs.com/pixy/p/4722381.html
配置多個 密鑰:https://blog.csdn.net/dbb_zifeng/article/details/71698865
添加到 agent:
ssh-agent bash
ssh-add 13466496863
ssh-add iamudi
vi ~/.ssh/config
Host gitee2.com
HostName gitee.com
IdentityFile ~/.ssh/iamudi
User [email protected]
Host gitee.com
HostName gitee.com
Port 22
IdentityFile ~/.ssh/13466396863
User [email protected]
git clone [email protected]:iamudi/inv.git
重置遠端,删除遠端曆史
https://blog.csdn.net/ffggnfgf/article/details/80044943
git checkout --orphan latest_branch
git add -A
git commit -am "init"
git branch -D master
git branch -m master
git push -f origin master
| 作者:NewSea 出處:http://newsea.cnblogs.com/ QQ,MSN:[email protected] 如無特别标記說明,均為NewSea原創,版權私有,翻載必糾。歡迎交流,轉載,但要在頁面明顯位置給出原文連接配接。謝謝。 |