1.全局配置 (name email)
git config --global user.name "xxx"
git config user.name
git config --global user.email "xxx@xxx.com"
git config user.email
2.查看 branch tag
查看本地分支:
git branch
git tag
查看远程分支:
git branch -r
查看所有分支:
git branch -a
3.新建 branch tag
新建本地分支
git branch <branchName>
git tag <tagName>
切换本地分支
git checkout <branchName>
远程拉取一条本地不存在的分支并关联
git checkout -b <localBranchName> origin/<branchName>
将本地 推送到远程
git push origin <branchName>:<branchName>
git push origin <tagName>
4.删除 branch tag
删除本地分支
git branch -D <branchName>
删除远程分支
git branch -d origin/<branchName>删除分支
git branch --delete --remotes <remote>/<branch> 删除远程链接
git push origin :<branchName> push删除
或者
git push origin --delete <branchName> 执行上面三步
删除本地tag
git tag -d <tagName>
删除远程tag
git push origin :refs/tags/<tagName> 或者
git push origin --delete <tagName>
5.关联远程分支
git branch --set-upstream-to origin/<branchName> 或者
git branch -u origin/<branchName>
撤销本地分支与远程分支的映射关系
git branch --unset-upstream
6.合并代码
直接提交合并
git merge 4.76dev
暂存未直接提交合并
git merge --squash branchname
7.代码提交
git add <name>
git commit -m <feat:xxxx>
feat:新功能,fix:修补bug,
refactor:功能重构,perf:性能优化,
docs:文档修改,revert:撤销上一次commit
git push
git rm <name>
切换分支不回退 /查看
git stash 或 git stash push /git stash list
重新启用 / 启用旧版本
git stash apply git stash apply stash@{2}
8.代码撤回
丢弃工作区的修改
git checkout -- xx.txt
git checkout ./
撤销commit重新放回工作区
git reset --soft HEAD^1 //注意:unix
git reset --soft HEAD~1 //windows的bash 后面的1是次数
把HEAD指向最新下载的版本
git reset --hard origin/master
git reset --hard "版本库地址"(git log中commit)
git reset --mixed HEAD~1
将暂存区的内容和本地已提交的内容全部恢复到未暂存的状态,
不影响原来本地文件(未提交的也不受影响)
git reset --soft HEAD~1
git reset --soft 19462f6f46... 回退到某个版本
不清空暂存区,将已提交的内容恢复到暂存区,
不影响原来本地的文件(未提交的也不受影响)
git reset --hard HEAD~1
清空暂存区,将已提交的内容的版本恢复到本地,
本地的文件也将被恢复的版本替换
9.子模块
git submodule init
git submodule update
git submodule update --init --recursive
查找提交
git grep '测试'
添加子模块
git submodule add <url> <path>
删除子模块
rm -rf <子模块目录>
vi .gitmodules 删除相关条目
vi .git/config 删除配置相关条目
rm .git/module/* 删除子目录
10.差异
git pull(自动merge)
git featch(拉取版本不会自动merge)
git status 文件状态
11.概念
working directory(代码仓库)
staged snapshot(快照:add的缓存库)
commit history(commit历史)
12.忽略文件
..\projectName\.git\info\exclude文件 git忽略文件
13编辑命令
vim .bashrc
14执行步骤
第一步 (下载项目)
git clone git@gitlab.xxxxxxxx.git
如果本地新建项目
初始化:创建一个git仓库生成.git文件
git init
工作
第一步:查看当前git仓库状态,查看哪些文件修改
git status
第二步:把修改的代码添加到暂存区
git add *
删除文件
git rm filename
第三步:将暂存区的更新提交到仓库区。
git commit -m "跟新说明"
第四步:拉取远程仓库所有分支更新并合并到本地。
git pull
第五步:将本地分支的更新全部推送到远程仓库。
git push origin master