命令行
配置
配置git config
配置用户名git config “user.name”
配置邮箱git config “user.email”
查看配置git config -l
给命令起别名git config alias
单行形式查看日志git log --pretty=oneline
配置五颜六色的 loglog --color --graph --pretty=format:'%Cred%h%Creset -%C(yellow)%d%Creset %s %Cgreen(%cr) %C(bold blue)<%an>%Creset' --abbrev-commit
全局配置--global
小白三部曲
初始化 git 仓库git init
添加当前所有文件到 gitgit add .
提交版本git commit -m "提交备注"
日志&状态
查看文件状态git status
查看日志git log
查看指令使用纪录git reflog
查看命令历史history
删除文件 (删除后要记得commit,才能同步到版本库)git rm
需要删除暂存区或分支上的文件, 同时工作区也不需要这个文件了git rm file_path
需要删除暂存区或分支上的文件, 但本地又需要使用, 只是不希望这个文件被版本控制git rm --cached file_path
file_path 为文件路径
删除所有内容,我们不想提交任何内容,所以我们需要把当前内容全部删除git rm -rf .
使用commit命令来提交分支git commit -am "xxx"
直接添加已追踪且被修改的文件顺便提交。git commit -m "xx"
单纯提交。
版本回退
回退到上一个版本git reset --hard HEAD^
回退到上上个版本git reset --hard HEAD^^
回退到任意一个版本git reset —hard 版本号
分支
新建分支git branch <分支名>
对分支 进行删除git branch -d <分支>
查看所属分支git branch -a
创建空白分支git checkout --orphan <分支>
clone 某个分支git clone -b dev5 https://git.xx.git
clone 所有分支git clone https://git.xxx.git
git clone默认会把远程仓库整个给clone下来,但只会在本地默认创建一个master分支
查看当前所在分支git branch
切换分支git checkout 分支名称
checkout 分支到本地git checkout -b <本地分支名> origin/<分支名>
如果远程还有其他的分支,此时用git branch -a
查看所有分支
使用-t参数,它默认会在本地建立一个和远程分支名字一样的分支git checkout -t origin/分支名
删除本地分支git branch -d <分支名>
删除的时候要先切换到别的分支
删除远程分支git push origin --delete <分支名>
更新本地远程已删除的分支git remote prune origin
查看分支的最后提交信息git branch -v
--merged 与 --no-merged 这两个有用的选项可以过滤这个列表中已经合并或尚未合并到当前分支的分支git branch --merged
git branch --no-merged
未合并分支git branch -d
会失败 该用git branch -D
合并分支时,加上--no-ff参数就可以用普通模式合并,合并后的历史有分支,能看出来曾经做过合并,而fast forward合并就看不出来曾经做过合并。git merge --no-ff -m "merge with no-ff" dev
远端
推到远端git push
强推到远端git push origin HEAD --force
关联远端git remote add origin git@server-name:path/repo-name.git
关联后,使用命令git push -u origin master
第一次推送master分支的所有内容
取消远端关联git remote remove origin
忽略本地仓库已修改并提交的文件,但不push到远程仓库git update-index --assume-unchanged xxx.txt
推到远端分支git push origin 分支名称
意思是:上传本地当前分支代码到分支
标签
打标签git tag v.xx -m "xxx"
标签推远端git push origin --tags
git 常识
working Directory 工作区
repository 版本库
stage 暂缓区
master 分支
HEAD 指针 :用于指向当前分支
git add 把文件修改添加到暂缓区
git commmit 把暂缓区的所有内容提交到当分支
分支看不见
如果没有任何文件提交的话,分支是看不到的,可以创建一个新文件后再次提交则新创建的branch就会显示出来。
无法 pull
如果git pull提示no tracking information,则说明本地分支和远程分支的链接关系没有创建,用命令git branch --set-upstream-to <branch-name> origin/<branch-name>
日常操作
忽略本地,更新线上
git fetch --all
git reset --hard origin/master
帮助
查看本地 git 操作文档中某命令行的用法如git help checkout
帮助git help