http://www.cheat-sheets.org/saved-copy/git-cheat-sheet.pdf
- git branch 查看本地所有分支
- git status 查看當前狀態(tài)
- git commit 提交
- git branch -a 查看所有的分支
- git branch -r 查看遠程所有分支
- git add files 把文件的修改添加到暫存區(qū)
- git commit 把暫存區(qū)的修改提交到當前分支窒朋,提交之后暫存區(qū)就被清空了
- git reset --files 使用當前分支上的修改覆蓋暫緩區(qū)仆救,用來撤銷最后一次 git add files
- git checkout --files 使用暫存區(qū)的修改覆蓋工作目錄,用來撤銷本地修改
- git commit -a 直接把所有文件的修改添加到暫緩區(qū)然后執(zhí)行提交
- git checkout HEAD --files 取出最后一次修改戈泼,可以用來進行回滾操作
- git merge --no-ff -m "merge with no-ff" dev
快進式合并(fast-farward merge):會直接將 master 分支指向合并的分支玫氢,這種模式下進行分支合并會丟失分支信息俯艰,也就不能在分支歷史上看出分支信息号枕。
解決方法:可以在合并時加上 --no-ff 參數(shù)來禁用 Fast forward 模式权悟,并且加上 -m 參數(shù)讓合并時產(chǎn)生一個新的 commit砸王。 - git stash 將當前分支的修改儲藏起來
- git cherry-pick
git cherry-pick <commit id>:單獨合并一個提交
git cherry-pick -x <commit id>:同上,不同點:保留原提交者信息峦阁。
git cherry-pick <start-commit-id>..<end-commit-id>
git cherry-pick <start-commit-id>^..<end-commit-id>
1. git切換遠程鏈接
git remote set-url origin xxxxxxxx
2. 回退到某次提交版本
# 回退命令:
$ git reset --hard HEAD^ 回退到上個版本
$ git reset --hard HEAD~3 回退到前3次提交之前谦铃,以此類推,回退到n次提交之前
$ git reset --hard commit_id 退到/進到 指定commit的sha碼
# 強推到遠程:
$ git push origin HEAD --force
3. 修改分支名稱
# 切換分支
git checkout <branch>
# 重命名本地分支
git branch -m <new_branch_name>
# 重命名舊分支名為新分支名稱(ps:git push origin :"old_test" "new_test")
git push <remote> :<old_branch_name> <new_branch_name>
# 為新創(chuàng)建的分支設(shè)置upstream分支(ps:git push origin -u new_test)
git push <remote> -u <new_branch_name>