git基本流程
01 本地仓库
进入工作目录
git init
开始创建文件,先添加文件,再commit
git add [file name]
git commit -m "[some note]"
查看git状态和日志
git status
git log
git show [commit id]
如果要查看历史文件
git checkout [commit id]
因为git是用brew 安装的,zsh里的提示语言中文英文掺杂,一是不利于google二是对强迫症极不友好。把它改成全英文:
vim ~/.zprofile
添加这几行设置语言
#set git language to English
#alias git='LANG=en_US git'
alias git='LANG=en_GB git'
退出vim,重启zsh即可

02远程仓库
本地生成一个ssh key
git config --global user.name "[name]"
git config --global user.email "[email]"
ssh-keygen -t rsa -C "[email]"
eval "$(ssh-agent -s)"
ssh-add ~/.ssh/id_rsa
vim ~/.ssh/id_rsa.pub
把id_rsa.pub中内容复制到GitHub的 settings -> SSH key and GPG keys -> New SSH key
git push 仍旧报错
remote: Support for password authentication was removed on August 13, 2021. Please use a personal access token instead.
回到github 创建token密钥:settings -> Developer settings -> personal access tokens -> create new token
GitHub创建一个新的private仓库learning-git
mkdir learning-git
cd learning-git
vim README #写入'The first line':x保存退出
git add README
git commit -m "local add README "
git remote add origin git@github.com: ***** /learning-git.git #GitHub仓库SSH 地址
git push origin master
#输入GitHub账户名
#输入GitHub设置的token
刷新GitHub仓库主页,看到README更新,在网页中添加' The second line',commit
回到本地目录
git pull origin master
看到README添加了一行
在网页添加' The third line', commit
在本地目录添加'The forth line', add, commit
% git pull origin master
fatal: Need to specify how to reconcile divergent branches.
根据hint run
% git config pull.rebase false # merge
% git pull origin master
Auto-merging README
CONFLICT (content): Merge conflict in README
Automatic merge failed; fix conflicts and then commit the result.
% cat README
The first line
The second line
<<<<<<< HEAD
The Forth line
=======
The third line
>>>>>>> 4932bf86b4466b3bb72a189118a3cb250491d48b
提示自动合并问题,vim打开后手动合并删除多余行
git add README
git commit -m "solve merge conflict"
git push origin master

浙公网安备 33010602011771号