git学习记录
入门
首先,我们在本地操作文件,如demo.js这类
git init //创建git仓库
git add . //将所有文件添加至暂存区
git commit -m "记录" // 提交到本地仓库
之后,我们可以把它放到远程仓库
git remote add origin git@github.com:goddessIU/test-demmo.git
git push -u origin main
同时
git status //查看当前当前状态
大概流程是: 我们编辑在工作区,git add到暂存区,git commit得到本地仓库,最后再传输到远程仓库
可以用git对文件进行基本操作,如改名、移动之类的
其他一些本地操作git命令
git mv a.html b.html //a改名为b
git mv a.html home //a 移动到b文件夹
git mv a.html home/c.html //移动后改名为c.html
git rm a.html //删除a
pwd //获得当前位置
内容回撤
首先,我们提交了很多,可以通过如下
git log //展示提交记录,如果内容太多,需要用q退出
接着可以进行内容回撤
修改内容回撤
- 为git add
git checkout -- a.html //在工作区的修改全部撤销
一种是readme.txt已经添加到暂存区后,又作了修改,现在,撤销修改就回到添加到暂存区后的状态。
一种是readme.txt已经添加到暂存区后,又作了修改,现在,撤销修改就回到添加到暂存区后的状态。
git checkout两种作用: 一种是文件自修改后还没有被放到暂存区,现在,撤销修改就回到和版本库一模一样的状态;
一种是文件已经添加到暂存区后,又作了修改,现在,撤销修改就回到添加到暂存区后的状态。
- 如果已经git add . 则
git reset HEAD a.html //把暂存区的修改撤销掉,重新放回工作区
git checkout -- a.html //在工作区的修改全部撤销
- 如果git commit了 git add . 后如果需要回退多个版本, 则git log获取id
git reset --hard id
- 其他一些内容 单个文件回退
git checkout id -- a.html(文件名为回退到当时的名字)
git checkout main^向上移动一个
git checkout main~num 移动num个
git branch -f main HEAD~3 //main分支移动当前分支向上3个
远程
更改后提交到远程
git push origin main
git fetch拉取远程库
git branch -av 显示远程分支
git push origin --delete 分支名 //删除远程分支
推送到远端,不同人修改不同文件
git merge 要合并的那个修改
git push 再次推送
不同人修改相同文件
git checkout -b 名字 远端分支//将当前分支和远端分支关联(名字与分支名字一致)
git push
标签
git tag v1.0 //标签到当前最新版本
git tag 标签 id //标签id那一次
git tag //标签记录
git push origin tag //提交到远程仓库
分支
git branch dev//创建dev分支
git branch//检查当前所有分支
git checkout dev//切换到dev分支
git branch -d dev//删除分支,但是不能删除当前分支
git branch -D dev//强制删除
git checkout -b dev//创建dev分支,并切换至dev
合并分支
git checkout main //切换到主分支,后面会改为git switch
git merge dev//将dev合并到主分支,dev不变
git rebase //另一种合并吧
解决冲突
git merge dev 出现冲突
- git merge --abort
- 手动修改
git add .
然后
git commit (记录情况,之后先esc在:wq退出)
之后
git commit -m ""
其他
git log --oneline
git log --oneline --graph
让版本路线可视化加强
git cherry-pick 提交号 //将相应节点,添加到当前分支
git rebase HEAD~3
多个父节点,^num,选择父节点,~向上回退
git checkout HEAD~^2~
git clone 克隆仓库
资料
- www.liaoxuefeng.com/wiki/896043… 廖雪峰老师的教程
- www.imooc.com/learn/1278 慕课网视频教程,挺好的
- learngitbranching.js.org/?locale=zh_… 一个游戏学习git