乐趣区

git常用命令分享

1. 简写

git config --global alias.st 'status' // git st
git config --global alias.cm 'commit' // git cm -m 'msg'
git config --global alias.unstage 'reset HEAD' // git unstage fimeName
git config --global alias.last 'log -1' // git last
// 查看历史提交,推荐
git config --global alias.lg "log --color --graph --pretty=format:'%Cred%h%Creset -%C(yellow)%d%Creset %s %Cgreen(%cr) %C(bold blue)<%an>%Creset'--abbrev-commit" // git lg

2. 存储

  • 暂时存储
//!只能存储已经被 track 的文件
git stash
  • 取出最近存储
git stash pop

3. 合并 commit

git rebase -i 要合并的两个分支的上一个分支号 
squash 表示这个 commit 会被合并到前一个 commit

4.merge 另一个分支上指定的文件

git checkout --patch 要 merge 的分支 filePath

5. 将一个分支指定的 commits 合并到另一个分支

git cherry-pick 62ecb3

6. 回退版本

git reset --hard HEAD^   // 回退到上个版本
git reset --hard HEAD~n  // 回退到 n 次提交之前
git reset --hard commit_id // 退到 / 进到指定 commit 版本 

7. 切换并跟踪远程新分支

git checkout --track origin/branch_name
git checkout -b localBranch origin/originBranch

8. 标签操作

git tag tagName
git tag -a tagName -m 'tagMsg'
// 将本地标签推到远程
git push origin --tags/tagName
// 删除本地标签
git tag -d tagName
// 删除远程标签
git push origin :refs/tags/ 标签名 

9. 如何将已经 track 的文件加入.gitignore

git rm -r --cached .
git add .
git commit -m 'update .gitignore'

如果还是不行的话

在先将想要取消追踪的文件移到项目目录外,并提交,然后提交后再将刚刚移出的文件再移入项目中即可 

如果是对所有文件都取消跟踪的话,就是

git rm -r --cached .   // 不删除本地文件
git rm -r --f .   // 删除本地文件 

对某个文件取消跟踪

git rm --cached readme1.txt // 删除 readme1.txt 的跟踪,并保留在本地。git rm --f readme1.txt    // 删除 readme1.txt 的跟踪,并且删除本地文件。

10. 删除所有 untracked 的文件

git clean -df
 作者:易企秀——sunny
退出移动版