天天看點

git筆記

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筆記

在這個圖中,我們可以看到部分 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

git筆記

  作者:NewSea     出處:http://newsea.cnblogs.com/   

QQ,MSN:[email protected]

  如無特别标記說明,均為NewSea原創,版權私有,翻載必糾。歡迎交流,轉載,但要在頁面明顯位置給出原文連接配接。謝謝。