版本管理
创建版本库
git init
git clone URL [-b BRANCH]
提交代码
git status
git add
git commit
git push origin master
git push -u origin master;-f强推
git remote add origin url
git三区
工作区,工作目录
暂存区,缓存更改,无历史版本;index、stage
版本库,保留更改,有多个历史版本。
版本回退:
慎用,回退版本前建议备份;否则可能丢失工作区、暂存区修改
git chechout --fileName/. 暂存区替换工作区
git chechout HEAD --fileName/. 版本库替换暂存区、工作区
git reset HEAD;版本库替换暂存区,–hard版本库替换暂存区、工作区
git add;工作区到暂存区
git status;查看工作区状态
git commit;暂存区到版本库
git reset --hard commit_id;指定版本库替换暂存区、工作区
git log;提交记录
git reflog;查看commit_id
删除文件:
删除文件建议使用git命令,git能跟踪记录。
git rm fileName/*;删除文件,-r递归删除,-f强制删除,–cached删暂存区
git mv source target;移动、重命名
分支管理
git branch branchName;创建分支
git checkout brachName;切换分支,-b创建并切换分支
git branch;查看分支
git merge branchName;合并分支,’fast-forward’信息,快进模式合并
git branch -d branchName;删除分支
.gitignore格式
.gitignore文件
#开头为注释
末尾/为目录
?单个字符,*单层,**多层
[ab]匹配任一;[a-v]范围匹配
!不忽略
示例
logs/ | 忽略当前路径下的logs目录,包含logs下的所有子目录和文件 |
/logs.txt | 忽略根目录下的logs.txt文件 |
*.class | 忽略所有后缀为.class的文件 |
!/classes/a.class | 不忽略classes目录下的a.class文件 |
tmp/*.txt | 只忽略tmp目录下的.txt文件 |
**/foo | 可以忽略/foo, a/foo, a/b/foo等 |