可视化教程:https://learngitbranching.js.org
[alias]
st = status
co = checkout
com = checkout master
cm = commit -m
pm = pull origin master
mm = merge master
df = diff
di = diff
# push to current branch
pc = push origin HEAD
br = branch
unstage = reset HEAD
lg = log --color --graph --pretty=format:'%Cred%h%Creset -%C(yellow)%d%Creset %s %Cgreen(%cr) %C(bold blue)<%an>%Creset' --abbrev-commit
git log --graph --pretty=oneline --abbrev-commit
# 或者
git log --graph --oneline
# A同学
git reset --hard 01234
git push -f origin dev
# B同学
git reset --hard origin/dev
# A同学
git checkout -b branch-a
git push -u origin branch-a
# B同学
git fetch
git checkout branch-a
#或者
git checkout -b branch-a
git pull origin branch-a
# 机器A
git push --delete origin test
git branch -d test
# 机器B
git fetch --all --prune
# 第一步
git revert 0ab3c3
# 出现冲突,解决后
git add file1
git commit -m 'xxx' file1
# 然后状态显示:1、解决冲突后执行git revert --continue 2、git revert --abort
# 但是已经解决了冲突,再add和commit都没效果,所以只能abort了
# 看看这里的解释: https://www.monarchdigital.com/blog/2015-04-21/understanding-how-git-revert-works-and-when-use-it
# 正确姿势
# n代表不用每个revert版本都提交commit
# ..表示左边版本不可达但是右边版本可达的所有提交: 75bc23e是老版本,4de6ad1是最新版本(如果这个是非最新版本貌似会产生和上面一样的问题)
git revert -n 75bc23e..4de6ad1
# 然后解决冲突,再
git add file1
git commit
# 会让写commit的备注内容,写完保存,完成!
The following untracked working tree files would be overwritten by checkout
# git的(.gitignore)不能直接忽略已经在版本库同步了的文件,只能控制本地忽略(不同步)某个文件...
# 如果想在本地忽略某个文件的话执行这个命令:
git update-index --assume-unchanged <file>
# 如果想重新同步这个文件的话执行这个命令.
git update-index --no-assume-unchanged <file>
cmd+shift+L 同时编辑多个变量
cmd+/ 单行注释
Option + (shift +) 点选 同时编辑多个位置
cmd+0/1 切换文件目录和代码窗口
cmd + b 折叠文件目录
ctrl + tab 切换到上一个编辑的文件
ctrl + shift + tab 切换到下一个编辑的文件