Git + VSCode相关操作

新建一个Git仓库

  • $git init :初始化一个仓库
  • 添加文件到仓库中:

  • $git add <file> : 可以反复多次使用,添加多个文件
  • $git commit -m <message> : 全部提交给仓库
  • 查看当前的状态:

  • $git status : 查看当前仓库的状态,包括已经修改了的还未提交到仓库中的
  • 跟工作区和版本库都会有对比!

  • $git diff : 查看当前做了哪些修改( 指的是在本地修改的和暂存区的不同之处
  • 版本回退(是从commit记录中回退):

  • $git log : 查看修改历史记录(commit日志)
  • 英文状态下按 Q 退出查看

  • $git log --pretty=oneline : 可以配合VSCode来查看Git history
  • $git reset --hard HEAD^ :回退到上一个版本
  • $git reset --hard id号 :回退到指定版本
  • $git reflog :查看所有的commit记录及其id号
  • 工作区和暂存区

    工作区就是电脑中能看到的目录,比如Git文件夹

  • $git checkout -- readme.txt 把文件在工作区的修改全部撤销。
    让文件回到最近一次git commit或是git add时的状态

  • $git reset HEAD <file> 可以把暂存区的修改撤销掉,重新放回工作区

  • 暂存区回到最近一次提交,工作区还是已经修改过的,$git diff 可以查出区别
    也就是说暂存区是干净的,工作区有修改

  • 然后接着第二步, $git checkout -- <file> 就可以撤销工作区的修改
    至此,整个世界都安静了!

    这时候,$git diff 和 $git status 都看不到修改了!

  • 就算把不该提交的东西commit到了版本库中,也是可以回退的,前提是没有提交到远程仓库中!
  • $git config user.name 查看用户名
  • $git config user.email 查看邮箱
  • $git config --global user.name 'CYX' 修改用户名
  • $git config --global user.email " 2344343332@qq.com " 修改邮箱
  • 连接远程仓库(Github、code.aliyun等)

  • 本地仓库与远程仓库之间的传输是通过SSH加密的
  • 因为Github需要识别出你推送的提交确实是你推送的,而不是别人冒充的

  • git remote add origin git@github.com :XiaohuiSu/test.git
  • 将本地仓库与远程仓库进行关联

  • 接下来就可以用VScode进行了
  • 暂存所有更改 : 将工作区的更改add到缓存区 等同于 $git add xxx
  • 放弃所有更改 : 恢复工作区或是缓存区
  • 可以用VScode中的命令终端进行回退
  • 从远程仓库clone

  • 在github上新建一个repository
  • $git clone git@github.com :XiaohuiSu/xxx.git
  • clone到当前目录下,文件夹名与仓库名相同

  • $git branch dev 创建一个分支
  • $git checkout dev 切换到创建的分支
  • $git branch 查看当前的分支
  • $git merge dev 将dev分支的工作成果合并到master
  • $git branch -d dev 删除分支
  • master与分支发生冲突,修改了同一个文件的同一个位置,必须手动修改冲突,然后add并且commit

    可以用VSCode进行比对

    $git remote -v 显示连接的远程库 (如果没有推送权限,就看不到Push地址)
    $git push origin dev 推送分支,若远程仓库中没有该分支,则会新建一个