git那些事


github返回801

image
這可能是你的電腦上沒有安裝git導致的,嘗試安裝git后再試。

修改某次commit的注釋

  • git rebase -i HEAD~2 最后的數字2指的是顯示到倒數第幾次 比如這個輸入的2就會顯示倒數的兩次注釋(最上面兩行) 根據提示,在你想要修改的注釋前,將pick改為edit
    image
  • git commit --amend 修改注釋
  • git rebase --continue 回到最新的HEAD

其實這個原理我的理解就是先版本回退到你想修改的某次版本,然后修改當前的commit注釋,然后再回到本地最新的版本
原文:https://www.jianshu.com/p/098d85a58bf1

刪除遠端某次提交歷史

  • git reset --hard <commit_hash>
  • git push origin <xx_branch> -f

使用 rebase 和 merge 的基本原則:(待測試)

下游分支更新上游分支內容的時候使用 rebase上游分支合並下游分支內容的時候使用 merge更新當前分支的內容時一定要使用 --rebase 參數

例如現有上游分支 master,基於 master 分支拉出來一個開發分支 dev,在 dev 上開發了一段時間后要把 master 分支提交的新內容更新到 dev 分支,此時切換到 dev 分支,使用 git rebase master
等 dev 分支開發完成了之后,要合並到上游分支 master 上的時候,切換到 master 分支,使用 git merge dev

配置完公鑰后,拉取代碼提示輸入密碼,解決方案

系統: ubuntu
重新執行 ssh-keygen -t rsa -C "xxxxx@xxxxx.com" 命令, 當他提示你輸入密碼時(俗稱 "鹽"), 你一定要輸入密碼,然后, 更換公鑰,重新克隆.

拉取項目的子模塊

方法一: 克隆主Git時帶上 --recursive 參數
git clone --recursive xxx.git
方法二: 如果項目已經克隆到了本地,執行下面的步驟
git submodule init # 初始化本地子模塊配置文件
git submodule update # 更新項目,抓取子模塊內容。

其他操作

  • 回退到指定commit版本。
    git reset --hard xx;
  • 刪除遠程的某個提交(確保還沒其他人提交之前,進行強制回滾)
    git reset --hard HEAD~2
    git push -f

同步遠程分支

git fetch --all  #同步提交歷史
git reset --hard origin/master (這里master要修改為對應的分支名)  # 將本地的指針指向,跟遠程的指針同步。
git pull origin  branch_name  # 拉取遠程分支

cherry-pick

git checout master
git cherry-pick <otherBranch_commitHash>  # 將其他分支的 commitHash 記錄添加到 master 分支

git cherry-pick [<options>] <commit-ish>...
常用options:
    --quit                退出當前的chery-pick序列
    --continue            繼續當前的chery-pick序列
    --abort               取消當前的chery-pick序列,恢復當前分支
    -n, --no-commit       不自動提交
    -e, --edit            編輯提交信息
原文鏈接:https://blog.csdn.net/fightfightfight/article/details/81039050

git rebase

用於把一個分支的修改合並到當前分支
git rebase origin 同步遠程分支內容到當前分支。
如果有沖突,會提示你解決沖突,你解決完后,執行

git add 文件索引   # 更新文件索引
git rebase --continue  # 繼續執行合並操作。

在任何時候,可以用--abort參數來終止rebase的操作,並且當前分支會回到rebase開始前的狀態。

原文鏈接:https://www.yiibai.com/git/git_rebase.html


免責聲明!

本站轉載的文章為個人學習借鑒使用,本站對版權不負任何法律責任。如果侵犯了您的隱私權益,請聯系本站郵箱yoyou2525@163.com刪除。



 
粵ICP備18138465號   © 2018-2025 CODEPRJ.COM