因为一些常用命令经常忘记,这里记下来。
基本命令
- git clone <git-url> # 下载项目
- git branch # 列表本地分支
- git branch -r # 列表远程分支(即git仓库分支)
- git checkout -b <branch> # 创建并切换到新分支
- git status # 查看当前分支状态
- git add . # 添加所有更新
- git add <file> # 添加指定文件
- git commit -m "msg" # 更新到本地分支
- git push origin <branch> # 更新到远程分支
回滚本地代码版本
- git reset --hard head # 重置本地分支代码到上一个版本
- git reset --hard <版本号> # 重置本地分支代码到指定版本
回滚远程代码版本(慎用)
- git reset --hard <版本号> # 重置本地分支代码到指定版本
- git push -f origin <branch> # 强制更新到远程分支(可能权限不足,自己百度搜下解决方案)
设置你的名称与邮箱
- git config --global user.name "name"
- git config --global user.email "email"
设置git-url
- git remote set-url origin <git-url>
配置 .gitignore
- application.yml # 匹配所有 application.yml文件
- *.class # 匹配所有以 .class结尾的文件
- !One.class # 但不匹配 One.class
- *.log # 匹配所有以 .log结尾的文件
- *.log.* # 匹配所有名称带有 .log.的文件
- targe/ # 匹配 target目录下的所有文件
- .idea/ # 匹配 .idea目录下的所有文件
- doc/*.txt # 匹配 doc/user.txt,但不匹配 doc/user/user.txt
配置好了 .gitignore,但似乎不起作用?
如果某些文件已经提交到远程分支,这时候即使配置好了 .gitignore也是无效的,需要先移除缓存。
- git rm -r --cached <filename> # 移除某个文件的缓存,本地仓库仍然存在该文件,但远程仓库会丢失该文件
- git rm -r --cached . # 移除所有文件缓存(不推荐)