1、
workspace(工作区) -------add------> Stage(暂存区) ----commit-----> repository(本地仓库) ------push----> remote(远程仓库)
(1)本地代码第一次提交到远程仓库
- 初始化本地仓库
git init
2、在本地新建分支
git checkout -b branch-name(新分支名称)
3、提交本地代码
git add .
git commit -m message(提交信息)
4、本地仓库和远程仓库建立连接
git remote add origin + 仓库地址
5、本地代码推送到远程分支上面
git push origin dev(远程分支名称)
(2)git命令打tag包
git tag 版本号 -m '版本信息'
git push origin 版本号
我的版本号一般都会加上日期,例如:
git tag V1.0.0_R_20210916 -m '版本信息'
git push origin V1.0.0_R_20210916
git命令删除tag
//1、删除本地tag
git tag -d tagName
//2、删除远程tag
git push origin :refs/tags/tagName
(3)把在这个分支上的代码提交到另一个分支上
git stash //把暂存区内的修改存储起来
git checkout dev //切换到正确的分支
git stash pop //将存储的修改取出来
(4).gitignore不生效问题解决方法
git rm -r --cached .
git add .
git commit -m 'update .gitignore'
git push -u origin master
6、代码回退到指定版本并提交
//输入命令
git reflog
//会得到历史的提交记录
fa646fe HEAD@{14}: commit: bug修改4
60b35d4 HEAD@{15}: commit: bug修改3
3173e7a HEAD@{16}: commit: bug修改2
d51db77 HEAD@{17}: commit: bug修改1
//回退
git reset --hard 指定的id
//回退到bug2
git reset --hard 3173e7a
//提交
git push -f origin 分支名称
7、删除指定分支
//删除本地分支
git branch -d '分支名' //分支已经合并
git branch -D '分支名' //未合并强制删除
//删除远程分支
git push origin --delete '分支名'
//更新分支列表,确保删除分支不在展示
git fetch -p
8、指定的提交(commit)应用于其他分支
//git cherry-pick命令的作用,就是将指定的提交(commit)应用于其他分支
//例如将dev分支上面的feat-A提交记录合并到prod分支上
//在dev分支上
git pull
git log //(查看提交的信息,复制feat-A的提交的 commit id
git checkout prod // (切换到要修改的分支)
git cherry-pick feat-A的commitId
8、如果代码提交错了,直接用vscode回退更方便
第一步
第二步
git push --force
新建:
在当前目录新建代码库:
$ git init
新建一个目录,将其初始化为git代码库
$ git init project-name(项目名称)
下载一个项目和他整个代码历史
$ git clone url(项目地址)
配置用户信息:
显示当前的Git配置
$ git config --list
编辑git配置文件
$ git config -e --global
设置提交代码时的用户信息
$ git config --gloal user.name “name”
$ git config --global user.email “email”
添加/删除文件:
添加指定文件到暂存区
$ git add file1 file2…
添加指定目录到暂存区,包括子目录
$ git add dir
添加当前目录的所有文件到暂存区
$ git add .
删除工作区文件,并且将这次删除放入暂存区
$ git rm file1 file2
改名文件,并且将这个改名放入暂存区
$ git mv file-original file-rename
代码提交
提交暂存区到仓库区
$ git commit -m message
提交工作区自上次commit之后的变化,直接到仓库区
$ git commit -a
提交时显示所有的diff信息
$ git commit -v
列出所有本地分支
$ git branch
列出所有远程分支
$ git branch -r
列出所有本地分支和远程分支
$ git branch -a
新建一个分支,但仍停留在当前分支
$ git branch branch-name
新建一个分支,并切换到该分支
$ git checkout -b branch-name
新建一个分支,与指向指定commit
$ git branch branch commit
新建一个分支,与指定的远程分支建立追踪关系
$ git branch --track branck remot-branch
切换分支,并更新工作区
$ git checkout branch-name
切换到上一个分支
$ git checkout -
合并指定分支到当前分支
$ git merge branch-name
选择一个commit,合并到当前分支