git_0">1.git本地操作命令
# 查看git的版本
git --version
# 生成空的本地仓库
git init
# 将文件添加到暂存区
git add 文件
# 将暂存区里的文件提交到本地仓库
git commit -m "描述"
git_13">2.git远程仓库命令
# 添加远程仓库
git remote add origin http://192.168.1.130:9000/root/test.git
# 拉取远程仓库的变更到本地仓库
git fetch
# 将远程的变更合并到本地仓库的main分支
git merge origin/main
# 不建议使用,等同于fetch之后merge
git pull
# 往名字为origin的仓库的main分支上提交变更
git push -u origin main
git_28">3.git的文件状态
# 查看git文件状态
git status# 删除工作区里的文件,并提交到暂存区
git rm 1.txt
# 仅删除暂存区里的文件
git rm 2.txt --cache# 直接加文件名:从暂存区将文件恢复到工作区;分支名 + 文件名:从分支中拉取文件;都是覆盖工作区里的文件
git checkout main 1.txt
git_46">4.git的分支
# 列出所有的分支,带*号为当前分支
git branch
# 创建dev分支
git branch dev
# 删除dev分支,不能删除当前所在的分支
git branch -d dev
# 将dev分支重命名为dev1
git branch -m dev dev1
# 切换分支,-f参数强制切换谨慎使用
git checkout 分支名
git_61">5.git代码回滚
# 暂存区提交回滚add回滚
git reset HEAD 3.txt
# commit回滚
git reset HEAD^
# 只是将HEAD引用指向指定的提交,工作区跟暂存区里的内容不会改变
git reset --soft
# 默认选项,将HEAD引用指向指定的提交,暂存区的内容随之改变,工作区内容不变
git reset --mixed
# 将HEAD引用指向指定的提交,暂存区跟工作区都会改变
git reset --hard
6.分支合并
# 拿指定的分支名与当前分支进行合并
git merge 分支名
# 查看产生冲突的文件
git diff --name-only --diff-filter=U
git_85">7.git的标签
# 显示标签(按字母序)
git tag
# 默认给最近一次提交打上标签
git tag 标签名
# 给相应的提交打上标签
git tag 标签名 commitId
# 显示该标签相关的提交信息
git show 标签名
# 删除标签
git tag -d 标签名
# 把某个标签推送到远程分支
git push origin 标签名
# 删除远程标签的步骤,先删除本地标签,再删除远程标签
git tag -d 标签名
git push origin :refs/tags/标签名
gitignore_105">8.gitignore
-
为什么要使用.gitignore文件
- 大量与项目无关的文件全推到远程仓库上,同步的时候会非常慢,且跟编辑器相关的一些配置推上去之后,其他人更新也会受其影响。所以,我们使用该文件,对不必要的文件进行忽略,使其不被git追踪
- 一般情况下,.gitignore文件在项目开始创建的时候就创建,并推送到远程服务器上。这样大家初次同步项目的时候就使用到该文件,避免以后团队成员把与项目无关的文件传到远程服务器上
.log 忽略所有以.log结尾的文件 123?.log 忽略所有以123加任意字符的.log文件 /error.log 忽略根目录中的error.log文件 src/main/test/ 忽略src/main/test/目录下所有文件 **/java/ 忽略所有java目录下的所有文件 !/error.log 表示在之前的匹配规则下,被命中的文件,可以使用!对前面的规则进行否定