Git基本使用
Git基本使用
Git基本使用
Git基本使用
git常用分支:master主分支、dev开发分支、bug分支、feature临时功能分支
origin:默认远程分支;
1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 26 27 28 29 30 31 32 33 34 35 36 37 38 39 40 41 42 43 44 45 46 47 48 49 50 51 52 53 54 55 56
| 初始化一个Git仓库,使用git init命令。 git add <file> 注意,可反复多次使用,添加多个文件【 git add .】【git commit readme.md -m"readme备注信息"】 git commit 完成。 git commit -m"备注" git status 掌握工作区的状态 git diff 可以查看修改内容。 git reset --hard commit_id 在版本的历史之间穿梭 # # git log (git log --pretty=oneline)可以查看提交历史 git log --oneline #查看简洁历史 git reflog 查看命令历史 git checkout -- file 把文件在工作区的修改全部撤销 命令中的--很重要 git rm 用于删除一个文件
git remote add origin git@server-name:path/repo-name.git 要关联一个远程库,使用命令 git push -u origin master 关联后,使用命令git push -u origin master第一次推送master分支的所有内容
git clone 克隆一个仓库 git clone -b name(分支名称) 克隆一个分支仓库 #demo git clone 地址 自定义名字 -b name(分支名称) 克隆一个分支仓库 git clone https://gihub.com/dafei4/vue.git zzz_dafei -b springBoot
////////分支修改后,分支提交了,切换到master后才会看不到内容,分支不提交,master可以看到修改内容/////// git branch 查看分支 git branch <name> 创建分支 git checkout <name> 切换分支 git checkout -b <name> 创建+切换分支 git merge <name> 合并某分支到当前分支 git branch -d <name> 删除分支 git branch -D <name> 强行删除分支(不需要合并) git log --graph 看到分支合并图 git merge --no-ff -m "merge with no-ff" dev 加上--no-ff参数就可以用普通模式合并 git stash 储藏 git stash list git stash pop 恢复储藏并删除储藏
git fetch origin master 获取远程分支到本地 git merge origin/master 合并到本地仓库 git pull 获取最新提交【git pull = git fetch + git merge】
git tag <name> 用于新建一个标签,默认为HEAD,也可以指定一个commit id git tag <name> <commit id> 新建一个标签在commit id上 git tag -a <tagname> -m "blablabla..." 可以指定标签信息 git tag -s <tagname> -m "blablabla..." 可以用PGP签名标签 git tag 可以查看所有标签 git push origin <tagname> 可以推送一个本地标签 git push --tags 可以推送全部未推送过的本地标签 git push origin --tags 可以推送全部未推送过的本地标签 git tag -d <tagname> 可以删除一个本地标签 git push origin :refs/tags/<tagname> 可以删除一个远程标签
git pull #获取所有远程的tag标签 ---或者用下面 #git fetch
git ls-files 如何知道目录里的文件是否在git仓库里
|
设置提交用户名
本项目用户名
修改的文件位置为 项目名称/.git/config
1 2
| git config user.name "dafei" git config user.email "123333333@qq.com"
|
全局用户名
1 2
| git config --global user.name "dafei" git config --global user.email "123333333@qq.com"
|
查看用户名
1 2
| git config user.name git config user.email
|

回滚代码
4 个时期回滚代码
在工作区的代码
1 2
| git checkout 文件名 #丢弃某个文件 git checkout . #丢弃全部[ 注意有个点 ]
|
添加到缓存区的代码回滚
1 2
| git add 到了缓存区,没有git commit -m git reset HEAD
|
提交到本地分支没有推送远端
[ git reset 三种模式 ]
git reset –mixed : 代码回到工作区 [ 默认这种模式 ]
git reset –soft: 代码回到缓存区
git reset –hard: 代码丢掉
1 2 3 4 5 6 7
| git commit -m 到本地分支,没有git push 远端 git log --oneline #查看版本信息,版本号 git reset --hard 版本号 #回到想要的版本 [ 这个版本之后的提交信息和数据都会丢掉 ] git reset --hard HEAD^ #回到上一个版本提交 [ 这个版本之后的提交信息和数据都会丢掉 ] git reset --soft HEAD^ #回到上一个版本提交[ 回都上一个版本的缓存区, 这个版本之后的提交信息和数据都会丢掉 ] git reset HEAD^ #此时代码保留,回到git add操作之前[表示需要重新add] [ 使用了默认参数--mixed] git reset --mixed HEAD^ #效果同上一条命令[ git reset HEAD^ ]
|
远端仓库代码回滚
这种回滚有点麻烦, 有2中方式
1 2 3 4 5 6 7 8 9 10
| 01)先把本地代码还原到指定版本,然后强制推送 git reset --hard 版本号 git push --force #[ 本地版本比远程版本低,加上--force这个参数就可以强制推送到远程 ]
02) 备份当前分支到新分支,先把本地代码还原到指定版本,然后删除远程仓库,用回退的代码推送到远程 git branch backup_备份 #备份当前分支到新分支 git push origin backup_备份 #把新分支推送到远程 git reset --hard 版本号 #把本地代码还原到指定版本 git push origin --delete 远程分支 #删除远程分支 git push origin 本地回退分支上代码 #把本地回退分支上代码推送到远程
|
标签功能
记住一点: 本地和远程可以理解为单独的2类tag
1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 26 27 28 29 30 31 32 33 34 35
| git tag #查看所有标签 git tag v1.0.0 #新建一个标签 git tag <name> git tag v1.0.1 git tag v1.1.0 git show v1.0.1 #查看某个标签做了什么操作
git push origin v1.0.1 #推送具体某个tag到远程 git push --tags #推送所有tag标签到远程服务端 ---或者用下面 #git push origin --tags git pull #获取所有远程的tag标签 ---或者用下面 #git fetch
git tag -d v1.0.1 #删除一个本地标签 git push origin :refs/tags/v1.0.2 #可以删除一个远程标签(注意这样删除后拉取不到远程删除信息) git push origin --delete v1.0.2 #可以删除一个远程标签(注意这样删除后拉取不到远程删除信息) git tag -l | xargs git tag -d #删除本地所有tag
#实战demo git tag git tag v1.0.0 # git add . git commit -m "fei bug1" git tag v1.0.1 git tag # git add . git commit -m "fei bug2" git tag v1.0.2 git tag # git add . git commit -m "添加新业务功能added feature1." git tag v1.1.0 git tag
|
Git 下载
git Download 国内镜像
git 官方下载