git 命令
git 的本地操作
- git init (初始化)
- git status (查看本地代码状态,比如有无加到暂存区,有无加到本地版本库)
- git add <fileName> (加到暂存区 常用git add .)
- git commit -m "描述" (加到本地版本库)
- git rm <fileName> (删除文件并删除本地跟踪)
git 推送到远程版本库
- git push <远程仓库地址:有https 和 ssh 两种地址> master (master 是本地的主分支)
- git remote add <别名> <远程仓库地址:有https 和 ssh 两种地址> (给远程仓库设置别名)
- git remote -v (查看远程仓库的别名)
- git remote remove <已经设置的别名>
- ssh -keygen -t rsa -C <邮件地址> (配置公钥)
git 的克隆和更新
- git clone <远程仓库地址:有https 和 ssh 两种地址>
- git pull origin master (origin 远程仓库的别名 master 主分支)
git 的日志和版本控制
- git log (查看日志)
- git log --pretty=oneline (一行日志)
- git reflog (查看所有操作过的日志 即使版本回退了还是可以看)
- git reset --hard HEAD^^ (回退版本: 一个 ^ 表示回退一个版本,HEAD 指向当前版本)
- git reset --hard <版本号(不用写全)> (通过版本号切换版本)
git的分支管理
- git branch (查看分支)
- git branch <新的分支名称> (创建分支)
- git checkout <分支名称> (切换分支)
- git merge <分支名称> (合并分支 :一般先切回主分支,再合并其他分支,合并可能造成冲突 需要解决冲突再提交)
- git branch -d <分支名称> (删除分支)
git 去除已经被跟踪的目录和文件
- git rm -r --cache .
- git add .
- git commit -m "update .gitignore"
git 工作流
- 集中式工作流
- 功能分支工作流
- git_flow工作流
- forKing 工作流
- pull request
git 推送分支到远程仓库
git push origin <本地分支名>:<远程分支名>
git 更新分支内容到本地
git pull origin <分支名>
git 打标签
- git tag (查看标签有几个)
- git tag <标签名>
- git push origin --tags (推送标签到远程仓库)
以上就是一些常用的命令集合,熟练掌握后,一般的工作你都能胜任了,下面是一些项目里需要忽略提交一些文件或者目录到版本控制里的写法,也总结了一下。
.gitignore 文件的写法 【例子】
- 忽略*.o和*.a文件
*.[oa]
- 忽略*.b和*.B文件,my.b除外
*.[bB]
!my.b
- 忽略dbg文件和dbg目录
dbg
- 只忽略dbg目录,不忽略dbg文件
dbg/
- 只忽略dbg文件,不忽略dbg目录
dbg
!dbg/
- 只忽略当前目录下的dbg文件和目录,子目录的dbg不在忽略范围内
/dbg
- 以'#'开始的行,被视为注释.
- ?:代表任意的一个字符
- *:代表任意数目的字符
- {!ab} :必须不是此类型
- {ab,bb,cx} :代表ab,bb,cx中任一类型即可
- [abc] :代表a,b,c中任一字符即可
- [ ^abc] :代表必须不是a,b,c中任一字符