官网链接:https://git-scm.com
图形化
- GitHub Desktop:官方出品的图形化工具
- Sourcetree:免费的GUI工具
- GitKraken:商用图形化,免费版功能有限
- vscode:万能的文本编辑器
文件结构
./
:根目录(工作目录).gitignore
:git忽略管理的文件.git/
:仓库文件夹index/
:暂存区objects/
:本地仓库
常用命令
git init
:初始化仓库git add .
:添加所有文件到暂存区git commit -m "xxxx"
:提交代码到仓库并添加备注为xxxxgit push
:推送文件到远程仓库git pull
:拉取远程仓库的文件git clone xxxx
:克隆xxxx(地址)远程仓库代码到本地
命令大全(按字母排序)
git -v
:查看版本信息git add 文件
:将文件从工作区添加到暂存区- 文件(可支持通配符)
.
:所有文件文件名
:添加指定为文件名的文件
- 文件(可支持通配符)
git branch
:查看分支-M 名字
:新建分支设置名字-d 名字
:删除已合并的分支-D 名字
:强制删除分支
git checkout 名字
:切换到名字的分支(不推荐)git clone 地址
:克隆地址的远程仓库git commit
:将暂存区的文件提交到本地仓库-m "日志"
:提交时的日志
git config [参数]
:配置信息user.name "名字"
:配置名字user.email "邮箱"
:配置邮箱--list
:查看配置信息- 参数
--global
:对所有仓库生效--system
:对所有成员生效
git diff
:查看工作区和暂存区文件的差异HEAD
:查看工作区和版本库之间的差异~
:上一个版本,^
作用相同~数字
:上第几个版本,^
作用相同
--cached
:查看暂存区和版本库之间的差异版本号1 版本号2
:查看两个版本之间的差异文件名
:查看该文件的变化
git fetch
:过去远程仓库的修改,不合并到本地仓库git init [名字]
:初始化git仓库- 名字
名字
:在当前文件夹中创建为名字的git仓库
- 名字
git log
:查看git提交日志--oneline
:查看简洁的日志--graph --oneline --decorate --all
:查看分支图
git ls-files
:查看暂存区文件名git pull
:将远程仓库的文件拉取到本地仓库git push
:将本地仓库推送到远程仓库-u 远程别名 远程分支
:将本地的分支推送到远程别名中的远程分支
git rebase 名字
:当前分支变为主分支,并将与名字的分支的共同祖先之后的提交全部嫁接到当前分支之后git remote
:操作本地仓库与远程仓库add 别名 地址
:将本地仓库与地址的远程仓库做关联,取名字为别名-v
:查看本地和远程仓库的别名和地址
git reset
:回退版本--hard
:工作区和暂存区全部丢失--mixed
:工作区存在,暂存区丢失(默认)--soft
:工作区和暂存区都在
git rm 文件名
:将文件从工作区和暂存区中删除--cached
:将文件从暂存区中删除,保留工作区
git status
:查看当前仓库状态git switch 名字
:切换到名字的分支git merge
:合并分支的操作名字
:将名字的分支合并到当前分支--about
:中止合并