git clone URL
git status
git add <file>
git commit -m <注释>
git commit -am <注释> #路过暂存区
git diff #比较未存暂的文件与已存暂的文本修改了哪些地方
git diff --cache #比较已存暂与上次提示快照之间的差异
git rm <file> # 从git仓库和本地移除文件
git rm --cached <file> #移除跟踪但不删除文件(本地保留)
git log -p -2 # 查看历史,按q推出
git remote -v #查看远程仓库
git remote add <URL> #添加远程仓库
git fetch origin # 从远程仓库抓取数据放到本地仓库
git pull #合并到本地
git push [remote-name] [branch-name] 推送数据到远程仓库
git branch # 查看分支
git remote show origin #查看远程仓库信息
git branch <branch-name> # 创建分支
git checkout <branch-name> # 切换分支
git checkout -b <branch-name> #创建一个分支,并切换到分支
git merge <branch-name> #合并一个分支,比如将分支合并到主干,先切换到主干,再执行上面的命令
git branch -d <branch-name> #删除一个分支
git branch --merge #看哪些分支已合并到当前分支
git branch --no-merge #看哪些分支没有合并到当前分支
git push <remote-name> <branch> #推送分支:它等同于:git push <remote-name> <branch>:<branch>,因此可以本地分支推送到远端的另一个分支上:git push <remote-name> <branch>:<other-branch>
git fetch <remote> # 可以抓取远程分支,但是本地的指针并没有指向分支,可能要做两个操作,1、切换分支;2、将分支合并到本地: git merge <remote>/<branch>;
git push <remote>:<branch> 删除分支名,一定要牢记
rebase 的使用
git checkout experiment #切换到分支
git rebase master #把分支上的修改在主干上重演一次
git checkout master #切换到主干
git merge experiment # 把分支合并到主干
git checkout server
git rebase master server
git checkout master
git merge server
git branch -d server # 删除分支
#使用rebase的好处是:文件的更新记录更清晰
衍合有风险??