git init / git init --bare <倉庫名> git add README.md git commit -m "first commit" git remote add origin https://github.com/HealerJean123/fas.git git push origin master
當咱們初次建立項目點的時候,是沒有分支的,咱們須要先建立一個master分支出來,而且push到git上,這樣纔是真正建立了一個分支,不然,若是直接建立的兩個不一樣的分支,將會沒有同一個祖先,不可以進行合併html
git checkout -b zhangyj
git branch
git checkout zhangyj
git status git add –A git commit -m"add index.html"
git pull origin develop
develop爲遠程分支的名字
git clone -b develop http://git.github.com/healerjean/test.git
不能夠跨分支push 代碼,好比如今是zhangyj分支,直接push develop是不會起做用的,咱們須要網頁發起請求(當咱們沒有權限操做master的時候),或者切換到其餘分支,而後進行merge操做,以下git
git push origin zhangyj
git –f push origin
[外鏈圖片轉存失敗,源站可能有防盜鏈機制,建議將圖片保存下來直接上傳(img-pLQFMFbO-1572840941459)(https://raw.githubusercontent.com/HealerJean/HealerJean.github.io/master/blogImages/1572835086522.png)]github
[外鏈圖片轉存失敗,源站可能有防盜鏈機制,建議將圖片保存下來直接上傳(img-bXg4A3hl-1572840941460)(https://raw.githubusercontent.com/HealerJean/HealerJean.github.io/master/blogImages/1572835099908.png)]web
[外鏈圖片轉存失敗,源站可能有防盜鏈機制,建議將圖片保存下來直接上傳(img-isDahq4a-1572840941461)(https://raw.githubusercontent.com/HealerJean/HealerJean.github.io/master/blogImages/1572835104945.png)]shell
[外鏈圖片轉存失敗,源站可能有防盜鏈機制,建議將圖片保存下來直接上傳(img-WTQeLjLa-1572840941461)(https://raw.githubusercontent.com/HealerJean/HealerJean.github.io/master/blogImages/1572835158526.png)]微信
[外鏈圖片轉存失敗,源站可能有防盜鏈機制,建議將圖片保存下來直接上傳(img-Ed9Wyc0p-1572840941462)(https://raw.githubusercontent.com/HealerJean/HealerJean.github.io/master/blogImages/1572835164711.png)]app
git merge develop 或者 git merge develop zhangyj
marge 特色:自動建立一個新的commit,當合並時遇到衝突,修改後從新commit便可 優勢:將commit的實際狀況進行記錄,便於之後查看 缺點:因爲每次merge會自動產生一個merge commit,因此在使用一些git 的GUI tools,若是commit頻繁,這樣會使得feature分支很雜亂,若是系統功能比較簡單,這時能夠考慮使用rebase來進行合併處理。 rebase 特色:將commit歷史進行合併 優勢:項目歷史比較簡單,少了merge commit 缺點:當發生衝突時不容易定位問題,由於re-write了history https://blog.csdn.net/liuxiaoheng1992/article/details/79108233 https://blog.csdn.net/happyjume/article/details/87450696
git branch -D zhangzyj
git push origin –delete zhangzyj
git reset 將當前分支的HEAD指向給定的版本,並根據模式的不一樣決定是否修改index和working tree。jsp
經常使用的有三種模式,–soft, --mixed, --hard,若是沒有給出則默認是–mixedsvg
mixed修改了index,index中給定commit以後的修改被unstaged。若是如今執行git commit 將不會發生任何事,由於暫存區中沒有修改,在提交以前須要再次執行git addspa
使用--soft
參數將會僅僅重置HEAD
到制定的版本,不會修改index和working tree,本地文件的內容並無發生變化,而index中仍然有最近一次提交的修改,這時執行git status會顯示這些修改已經在再暫存區中了,無需再一次執行git add
使用--hard
同時也會修改working tree,也就是當前的工做目錄,那麼最後一次提交的修改,包括本地文件的修改都會被清楚,完全還原到上一次提交的狀態且沒法找回。因此在執行reset --hard
以前必定要當心
git reset fcd2093 a.jsp
git reset –hard origin/master (也能夠是develop分支)
git reset 057d
有時候,若是咱們上傳的文件太大,失敗了,可是又已經commit了,很難受,又不能撤回,有時候又不知道究竟是哪一個文件太大了。因此須要了撤回到上次commit的狀態。也就是說本地的修改能夠經過git status顯示出來
git log 查看comit 的id git reset fadsfadsfadsf123 (你運行gitcommit 以前的那個最新commit ID) git status 就能夠看到咱們本地剛剛作的修改了哦 哈哈哈,這個纔是真正牛逼的東西
[外鏈圖片轉存失敗,源站可能有防盜鏈機制,建議將圖片保存下來直接上傳(img-LoWLyzqj-1572840941464)(https://raw.githubusercontent.com/HealerJean/HealerJean.github.io/master/blogImages/1572837363209.png)]
D:\workspace\scf-resurgence>git reflog 54c65741 (HEAD -> 20191016-1.0.1-SNAPSHOT) HEAD@{0}: rebase finished: returning to refs/heads/20191016-1.0.1-SNAPSHOT 54c65741 (HEAD -> 20191016-1.0.1-SNAPSHOT) HEAD@{1}: rebase: 信貸核心參數修改 38024757 HEAD@{2}: rebase: 信貸核心參數修改 387f8163 HEAD@{3}: rebase: dev環境配置 d0125a78 HEAD@{4}: rebase: 衝突修改 77107232 HEAD@{5}: rebase: 信貸核心字段修改 6c2ca94f HEAD@{6}: rebase: 年利率改成利率+利率類型 caebb6b9 HEAD@{7}: rebase: 信貸核心參數調整 8139dd8d HEAD@{8}: rebase: 日誌補充
git log filename
git log -p filename
git show commit-id filename
$ git filter-branch --force --index-filter 'git rm --cached --ignore-unmatch path-to-your-remove-file' --prune-empty --tag-name-filter cat -- --all 一、 path-to-your-remove-file 就是你要刪除的文件的路徑 若是不加/,則默認是相對路徑 , 二、若是你要刪除的目標不是文件,而是文件夾,那麼請在 `git rm --cached' 命令後面添加 -r 命令,表示遞歸的刪除(子)文件夾和文件夾下的文件,相似於 `rm -rf` 命令。 三、若是文件或路徑裏有中文,可使用通配符*號,sound/music_*.mp3, 這樣就把sound目錄下以music_開頭的mp3文件都刪除了.
若是你看到相似下面這樣的, 就說明刪除成功了:
Rewrite 48dc599c80e20527ed902928085e7861e6b3cbe6 (266/266) # Ref 'refs/heads/master' was rewritten
以強制覆蓋的方式推送你的repo,
git push origin master --f --all
$ rm -rf .git/refs/original/ $ git reflog expire --expire=now --all $ git gc --prune=now Counting objects: 2437, done. # Delta compression using up to 4 threads. # Compressing objects: 100% (1378/1378), done. # Writing objects: 100% (2437/2437), done. # Total 2437 (delta 1461), reused 1802 (delta 1048) $ git gc --aggressive --prune=now Counting objects: 2437, done. # Delta compression using up to 4 threads. # Compressing objects: 100% (2426/2426), done. # Writing objects: 100% (2437/2437), done. # Total 2437 (delta 1483), reused 0 (delta 0)
[外鏈圖片轉存失敗,源站可能有防盜鏈機制,建議將圖片保存下來直接上傳(img-o2elQEAX-1572840941466)(https://raw.githubusercontent.com/HealerJean/HealerJean.github.io/master/blogImages/1572837980928.png)]
[外鏈圖片轉存失敗,源站可能有防盜鏈機制,建議將圖片保存下來直接上傳(img-4rvo9H9m-1572840941466)(https://raw.githubusercontent.com/HealerJean/HealerJean.github.io/master/blogImages/1572837987994.png)]
git config --global core.longpaths true感興趣的,歡迎添加博主微信
哈,博主很樂意和各路好友交流,若是滿意,請打賞博主任意金額,感興趣的在微信轉帳的時候,備註您的微信或者其餘聯繫方式。添加博主微信哦。
請下方留言吧。可與博主自由討論哦
微信 | 微信公衆號 | 支付寶 |
---|---|---|
![]() |
![]() |
![]() |