Git 使用
入门
首先在代码仓库上创建一个新的仓库,然后再本地项目里执行一下shell命令
cd 项目文件夹
git init # 在当前项目文件夹里初始化git
git add <项目文件...> # 执行多次添加多个文件,也可以使用 add . 表示添加所有的文件
git commit -m "first commit" # 提交
# git branch -M main # 这个指令是一个改名操作,就是把当前本地的活动分支重命名
git remote add origin https://github.com/miaoweiwei/sirector.git # 设置远端仓库地址
git push -u origin master # 上传到 master分支
常用命令
git clone url 把项目clone到本地
git add <文件/文件夹> 将修改添加到本地库
git commit -m “msg” 提交到本地库
git pull 更新
git status 当前项目的状态
分支操作
git branch 查看本地分支
git branch -a 查看本地和远端所有分支
git switch <分支名称> 切换到一个已经存在的分支(如果在远端也有对应的分支,同时对应的远端分支也会切换)
git checkout <分支名称> 切换到一个已经存在的分支
git checkout -b <新的分支名称> 在本地创建新的分支本地并切换到这个新的分支
git push --set-upstream origin <新的分支名称> 在远端创建新的分支并把当前的修改提交到新的分支
git branch -d [branchname]
删除本地已合并的分支 某些情况下可以用 git branch -D [branchName]
(使用时应注意是否已合并)
git push origin --delete [branchname]
删除远程分支
注意: 在删除远程分支时,同名的本地分支并不会被删除,所以还需要单独删除本地同名分支
如果发生以下错误:
error: unable to delete ‘origin/xxxxxxxx-fixbug’: remote ref does not exist
error: failed to push some refs to ‘git@github.com:xxxxxxxx/xxxxxxxxxx.git’
解决办法: git checkout xxxxx-fixbug 切换到当前分支上, 然后再 进行 git push --delete origin origin/xxxxx-fixbug
此时将不会再发生错误 。
回滚操作 reset
1.撤销已经commit但是没有push的操作
–soft
不删除工作空间的改动代码 ,撤销commit,不撤销git add file
git reset --soft HEAD^ 或者 git reset --soft HEAD~1
如果进行两次的commit,想要都撤回,可以使用HEAD~2
git reset --soft HEAD~2
–mixed
撤销commit 和 add 并不删除工作空间改动代码
git reset --mixed HEAD^
–hard
删除工作空间的改动代码,撤销commit且撤销add
git reset --hard HEAD^
文件对比
Git diff branch1 branch2 --stat //显示出所有有差异的文件列表
Git diff branch1 branch2 文件名(带路径) //显示指定文件的详细差异
Git diff branch1 branch2 //显示出所有有差异的文件的详细差异