git 流程图
git 操作
git新建分支
1、切换到基础分支,如主干
git checkout master
2、创建并切换到新分支
git checkout -b martin
git branch可以看到已经在panda分支上
3、更新分支代码并提交
git add *
git commit -m "init martin"
# 推分支代码
git push origin martin
git提交代码
1、查看分支
git branch
2、切换到代码所在的分支
git checkout martin
3、查看修改的文件
git status
4、拉取分支上的代码
# 在提交代码之前需要先拉取代码,目的是为了保证你在提交文件后不回与别人提交的代码产生冲突,冲掉别人提交的代码。
git pull
5、将当前的工作状态保存到git栈,在需要的时候再恢复
git stash
如果在拉取代码的时候报错,可能是因为本地的代码与拉取的代码有冲突,这时需要将本地代码暂存到栈里,之后再重新git pull。令:git stash后你的工作区状态为clear
6、将堆栈中最新的内容pop出来应用到当前分支上,且会删除堆中的记录
# 将暂存在栈上的文件重新移到工作区中
git stash pop
7、提交代码到本地git缓存区
git add . 或者 git add xxx
# 命令:git add 文件名1 文件名2 …
(1)如果你git status 查看了当前状态发现都是你修改过的文件,都要提交,那么你可以直接使用 git add . 就可以把你的内容全部添加到本地git缓存区中
(2)如果你git status 查看了当前状态发现有部分文件你不想提交,那么就使用git add xxx就可以提交部分文件到本地git缓存区
8、推送代码到本地git库:git commit
git commit 文件名 -m “提交代码备注”
9、提交本地代码到远程仓库
git push
10、git不提交指定文件
先查看修改的文件有哪些
git status
例如有:vue.config.js 、src/model/table.vue…
需求:每次提交代码都不提交vue.config.js
命令:git update-index --assume-unchanged vue.config.js
例子:git update-index --assume-unchanged .idea/workspace.xml
提交之前我们再使用命令:git status查看一下有没有此文件了,没有就说明成功了,这个习惯一定要保持好。
如果后期想提交该文件的话,那就运行命令:
git update-index --no-assume-unchanged vue.config.js
当我们忘记了忽略过哪些文件的话,可以运行下面的命令查找出来:
git ls-files -v | grep '^h ’
然后取消标志即可,如果需要全部取消标志的不提交文件的话,可以运行下面的命令:
git ls-files -v | grep ‘^h’ | awk ‘{print $2}’ |xargs git update-index --no-assume-u
git子分支代码提交并合并到master主分支
1、将子分支修改部分代码提交
# 将所有代码提交
git add .
# 编写提交备注
git commit -m "修改bug"
# 提交代码至远程分支
git push origin dev
2、切换master分支
# 切换分支
git checkout master
# 如果多人开发建议执行如下命令,拉取最新的代码
git pull origin master
3、merge分支代码
git merge dev
# merge完成后可执行如下命令,查看是否有冲突
git status
解决每次提交代码出现.idea workspace.xml 问题
问题原因:
原因在于 Git 的忽略,Git 在同步代码时,设置本地忽略文件的前提是,必须保证 Git 的远程端仓库中没有这个要忽略的文件。当远端包含有该文件时,本地设置的 ignore 将不再发挥作用。
解决办法
1、在本地的.gitignore文件里面添加上 .idea/workspace.xml 文件。
2、如果已经将本地的文件提交到了远端,那么需要将远端提交的文件给删掉,删除指令为:
git rm -r --cached .idea
3、push代码
然后使用git status指令来查看删掉的文件
切分支时提示Please move or remove them before you switch branches.
大概意思就是以下文件未跟踪的工作树文件将被签出覆盖,在切换分支的时候你需要干掉它们
解决办法
git clean -dfx
# git clean是把你当前工作的分支所有东西保持和远程的分支一致,就是说你远程是怎么样的,执行这个命令后你本地的就是怎么样的,没有进入版本的文件会直接扔掉
本地项目推送至新仓库
# 链接远程仓库
git remote add origin git地址
# 查看链接是否成功
git remote -v
# 提交代码
git add .
git commit -m "vue"
# 推送代码并创建远程分支
git push --set-upstream origin main
本地代码丢失找回
选择要找回的文件,点击“Show History”,找到对应版本的代码变更,恢复即可