git学习记录

120 阅读3分钟

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退出

接着可以进行内容回撤

修改内容回撤

  1. 为git add
git checkout -- a.html  //在工作区的修改全部撤销
一种是readme.txt已经添加到暂存区后,又作了修改,现在,撤销修改就回到添加到暂存区后的状态。
一种是readme.txt已经添加到暂存区后,又作了修改,现在,撤销修改就回到添加到暂存区后的状态。

git checkout两种作用: 一种是文件自修改后还没有被放到暂存区,现在,撤销修改就回到和版本库一模一样的状态;

一种是文件已经添加到暂存区后,又作了修改,现在,撤销修改就回到添加到暂存区后的状态。

  1. 如果已经git add . 则
git reset HEAD a.html //把暂存区的修改撤销掉,重新放回工作区
git checkout -- a.html //在工作区的修改全部撤销
  1. 如果git commit了 git add . 后如果需要回退多个版本, 则git log获取id
git reset --hard id
  1. 其他一些内容 单个文件回退
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 出现冲突

  1. git merge --abort
  2. 手动修改
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 克隆仓库

资料

  1. www.liaoxuefeng.com/wiki/896043… 廖雪峰老师的教程
  2. www.imooc.com/learn/1278 慕课网视频教程,挺好的
  3. learngitbranching.js.org/?locale=zh_… 一个游戏学习git