git init 初始化git仓库
git add 添加文件到仓库,添加到暂存区
git commit -m “xxxxx” 文件提交到仓库且备注xxxx 从暂存区提交到当前分支
Gitstatus 查看仓库当前状态
git diff xxx文件 查看不同,可以查看做了什么修改
git checkout -- readme.txt 把readme.txt在工作区的修改全部撤销
Git rest 把暂存区的修改撤销,放回工作区,回退版本
Git rest HEAD HEAD表示最新的版本
删除
git rm xxx 删除xxx文件
git commit 提交
git checkout -- xxx 恢复误删的文件,从版本库里替换工作区版本
创建ssh key指令
ssh-keygen -t rsa -C "youremail@example.com"
然后搜.ssh目录,里面有ssh文件,把ssh复制到git上就好了
本地关联远程库git remote add origin git@server-name:path/repo-name.git
关联后,推送:git push -u origin master 把当前分支master推送到远程
后期代码修改后,推送最新更改:git push origin master
克隆:
git clone xxx(你的线上ssh地址) 克隆一个本地库
分支:
创建test分支并切换到test分支:git checkout -b test(或者使用git switch -c test)
等同于 创建分支git branch test切换分支git checkout test(或者使用git switch test)
查查看当前分支(当前分支前会有*符号):git branch
合并test分支的内容到master分支上:git merge test
合并完成后,删掉分支:git branch -d test
git log --graph 查看分支合并图
git merge --no-ff -m "merge with no-ff" dev表示禁用快速合并fast forward,这样删除分支了以后,之前分支的记录还在
Bug分支
Git stash 把当前工作储存,后期再提交工作,可以让工作区处于干净状态
当我们解决完其他问题以后,回到工作区之前的状态:git stash list可以看到之前的工作
恢复工作区:git stash apply,恢复后,stash内容不删除,git stash drop删除
或者git stash pop,恢复工作区的同时删除stash内容
git cherry-pick xxxxx提交号 从master复制一个特定的提交xxx到当前分支,适用于bug提交的修改复制到当前分支
Freature分支
开发,最好新建分支
强行删除未合并过的分支:git branch -D name
多人协作
git remote 查看远程库信息 git remote -v显示更详细的信息
git push origin xxx分支 推送xxx分支到远程库
如果同事最新提交跟你推送提交的有冲突,可以先git pull拉取最新代码,再git push
如果git pull 提示:no tracking information
就执行:git branch --set-upstream-to <branch-name> origin/<branch-name>创建本地分支和远程分支的连接关系
git rebase可以把分叉的提交历史整理成一条直线,看上去更直观。缺点:本地分叉提交已经修改过了。
标签
git tag v1.0 创建标签v1.0
git tag 查看所有标签
给之前已经提交的commit id打标签①git log找到历史提交id②git tag v0.1 f13345 修改为v1.0
标签是按照字母排序的,git show xxx标签名:看标签信息
创建带有说明的标签,-a指定标签名,-m指定说明文字:git tag -a v0.1 -m “备注” f123456
删除本地标签:git tag -d v0.1
推送指定标签到远程:git push origin v1.0
推送所有标签到远程:git push origin --tags
删除远程标签:先本地删除→git push origin :refs/tags/v0.1
配置指令别名
git config --global alias.st status 以后git st===git status
git last 显示最后一次提交信息