文章出處

1、撤銷add但未commit的文件

git rm -r --cached path/file

2、git 撤銷commit:

2.1)、git log-顯示提交的歷史
commit ee50348120302b19318ab6a564d4092dd87a85ef
Author: ShichaoXu <gudujianjsk@gmail.com>
Date:   Mon Jun 3 15:18:16 2013 +0800
     support for printf
commit e7a5e492c742a7b68c07f124edd4b713122c0666
Author: ShichaoXu <gudujianjsk@gmail.com>
Date:   Tue May 7 15:44:11 2013 +0800
......
   
2.2)、git reset --hard e7a5e492c742a7b68c07f124edd4b713122c0666 
    執行該步后顯示如下 
  •   HEAD is now at e7a5e49 del file lib/2440slib.s init/2440init.s  
此時正常回到git commit    "support for printf" 之前的狀態!
 
–soft –mixed –hard,會對working tree和index和HEAD進行重置:
git reset –mixed:此為默認方式,不帶任何參數的git reset,即時這種方式,它回退到某個版本,只保留源碼,回退commit和index信息
git reset –soft:回退到某個版本,只回退了commit的信息,不會恢復到index file一級。如果還要提交,直接commit即可
git reset –hard:徹底回退到某個版本,本地的源碼也會變為上一個版本的內容
 
HEAD 最近一個提交
HEAD^ 上一次
<commit_id> 每次commit的SHA1值. 可以用git log 看到,也可以在頁面上commit標簽頁里找到
 
以下是一些reset的示例:
(1) 回退所有內容到上一個版本  
git reset HEAD^  
(2) 回退a.py這個文件的版本到上一個版本  
git reset HEAD^ a.py  
(3) 向前回退到第3個版本  
git reset –soft HEAD~3  
(4) 將本地的狀態回退到和遠程的一樣  
git reset –hard origin/master  
(5) 回退到某個版本  
git reset 057d  
(6) 回退到上一次提交的狀態,按照某一次的commit完全反向的進行一次commit  
git revert HEAD 
 
3、git提交代碼的一些方法:
github的提交方式 
  git add .--------------------存儲到本地 
  git commit -m 'message'-------存儲時的標記(修改了哪些地方,方便下次查詢) 
  git pull------------------------下載服務器代碼 
  git push------------------------上傳代碼至服務器 
svn服務器的提交方式 
  git add .  ------------------存儲到本地 
  git commit -m 'message'--------存儲時的標記(修改了哪些地方,方便下次查詢) 
  git svn rebase------------------下載服務器代碼 
  git svn dcommit-----------------上傳代碼至服務器 
其他相關的git命令 
git branch-------------------查看當前屬于哪個分支 
git rebase –-continue-------------------自動合并 
git checkout –b svn 新建分支名----------新建分支存儲現有文件 
git checkout master----------------------將其放到master分支下,切換分支
git merge-------------------------------整合分支 
git branch -d 分支名----------------------刪除分支 
git checkout + 上傳的commit編號-----------將本地代碼恢復到此狀態 ( )
git log------------------------------------查看本地git上傳日志 
git log -p app/controllers/grids_controller.rb----查看某個文件的修改歷史 
git checkout d0eb6ef3afe8a377943d3cf6f1e9c320c18f6f32   app/controllers/charts_controller.rb-----------返回到這個版本的文件(重現錯誤) 
git diff + commit編號--------------------------查詢不同代碼
git remote set-url origin test@192.168.2.34:/home/city/projects/pepper/pepper/.git--------------更改訪問的git倉庫地址,通常當git倉庫地址發生變化是,在本地可以通過這種方法
git difftool ---------------------------查看差異工具
git mergetool---------------------------合并工具

 
 
 
 
 

文章列表




Avast logo

Avast 防毒軟體已檢查此封電子郵件的病毒。
www.avast.com


arrow
arrow
    全站熱搜
    創作者介紹
    創作者 大師兄 的頭像
    大師兄

    IT工程師數位筆記本

    大師兄 發表在 痞客邦 留言(0) 人氣()