git使用
git
git是一款分布式代码版本控制工具
初始化使用:
当我们在gitlab、github初始化一个项目路径后,
需要将本地仓库的代码提交到新建好的远端仓库
1 | git init |
设置全局用户信息1
2git config --global user.name "userName"
git config --global user.email "useremail"
git fetch 拉取代码
git merge 合并代码
git pull 拉取并合并代码
git push 将本地仓库的commit提交到远端仓库
git checkout
git checkout -b
git branch -d
git branch -D
git push -u origin
git reset –hard
git log 可以查看每一个的commit,显示的信息有 commit date,commit person,commitId,commit info
git merge A 将A分支合并到当前分支
git rebase A 将A分支合并并且将A分支节点置于当前分支之后
git mv
如修改文件名 File.js 到 file.js此时是无法检测到更改,需要使用命令:
git mv File.js file.js
update
在github中已修改默认分支为main 而不再是master
此时针对命令为
git init
git remote add origin
git branch -M main
git push -u origin main
git checkout
checkout 有多个使用场景。
切换分支
- git checkout -b branchName 新建分支并切换到该分支
- git checkout branchName 切换到分支
舍弃代码 (未提交到暂存区)
- git checkout filePath 舍弃指定文件的修改
- git checkout . 舍弃所有的修改
git cherry-pick (合并单次commit)
当我们需要从其他的分支获取某次提交,但又不想直接合并该分支的全部代码
此时可以使用 git cherry-pick commitid 来获取其他分支的某次提交
git reset –hard (还原到历史版本)
当需要还原仓库代码时,可以使用 git reset –hard commitid 来回滚本地代码
但是因为此时本地仓库落后于远端仓库,此时是无法 push 的。
需要在远端仓库删除该分支,然后执行 git push localBranchName:remoteBranchName
- localBranchName 本地仓库的该分支名
- remoteBranchName 远端仓库的分支名
git rebase
异常解决
有时git
-refusing to merge unrelated histories
当执行git push时提示先执行git pull
而执行git pull时报错如标题,
此时需执行:1
git pull origin master --allow-unrelated-histories