初始化
git init 项目名 //创建一个新的本地代码库
git config --global user.name "用户名" //设置名字,将会被加到commit 和tags中
git config --global user.email "邮箱" //设置邮箱地址,将会被加到commit 和tags中
本地操作
git status //查看当前状态,列出所有修改、暂存区文件修改情况
git add 文件名 //将文件保存到暂存区域,多个文件时使用空格隔开
git add . // 将所有文件保存到暂存区
或 git add --all
git commit -m "提交的备注" //将暂存区的修改保存到本地代码库
git log -n //显示最近n次commit记录
git diff [文件名] //查看工作区和暂存区的差别
git rm [文件名] //删除工作区和暂存区的文件
git reflog //记录所有操作记录
git checkout -- [文件名] //把工作区修改撤销掉
git reset HEAD [文件名] //把暂存区修改撤销掉
git reset --hard HEAD^ //回退到上个版本
git reset --hard HEAD~n //回退到前n次提交之前
git reset --hard commit_id //退到/进到 指定commit的sha码
git stash //把工作区修改内存保存到贮藏区
git stash pop //将贮藏区恢复到工作区
git tag //列出代码中所有Tag
远程操作
git clone [项目url] //从远程代码库下载整个代码库和历史记录
git remote add <remote name> <url> //链接到一个远程库
git fetch //从远程代码库下载所有变动
git pull //从远程库拉取代码并将当前分支和upstream merage
git push [remote] [branch] //将当前代码推送到远程remote库的branch分支
分支操作
git branch //列出当地所有分支
git branch -a
git switch -c [name] //创建一个新的name分支
git switch [name] //切换到name分支
git merage [from name] //将name分支和当前分支合并
git branch -d [name] //删除name分支
Github快速搜索
> in:name android //搜索名字中带有android的项目
> in:description android //搜索描述中带有android的项目
> in:readme android //搜索说明文档中带有android的项目
> in:name android stars:>1000 //搜索star数大于1000的项目
> in:name android pushed:>2020-10 //搜索上传时间在2020年10月之后的
> in:name android language:Java //搜索语言是Java的