git介绍

2021-04-13  本文已影响0人  易路先登
git发展历史

1 、集中式VCS的特点

2、分布式VCS特点

3、Git特点

4、Git安装

https://git-scm.com官网下载,傻瓜式安装

单人本地
三个区(工作区,暂存区,版本管理区)
三个状态 ()
单人远程
多人协作

5、Git的简单配置

$ git config --global user.name "John Doe"//配置用户名
$ git config --global user.email johndoe@example.com//配置邮箱
$ git config --list//查询配置项
$ git config --global core.editor "'C:/Program Files/Notepad++/notepad++.exe' -multiInst -notabbar -nosession -noPlugin"//配置编辑器的命令

6、Git起步

git help//查找git命令的用法
git help --web log//通过浏览器查看某个命令的详细说明
git fetch -h //查找子命令的用法
git init//初始化一个空目录为git仓库,或者将一个已有项目改为git仓库
git clone 仓库地址(既可以是远端的,也可以是本地的)

git remote -v  查看克隆仓库的源仓库信息
git mv a b//将a文件重命名为b
cat .git/HEAD//树的头信息
cat .git/config//git仓库配置文件,可编辑
git config --local --list//查看本地配置信息
git config --local user.name //查看用户名
git config --local user.name xxxx//设置用户名
//HEAD目录下存放的refs里的引用
cd refs
cd ./heads
cat master
git cat-file -t 哈希//查看类型
git cat-file -p 哈希//查看文件内容
//objects里存放真正的文件快照
git rm file.xx//彻底从git树上删除文件,无法检出,如果手动删除的话,使用git checkout -- file还可以检出该文件
git cat-file -t 哈希值//查看对应哈希值的类型
git cat-file -p 哈希值//查看对应哈希值的内容
git log//查看每个commit的哈希
git cat-file -p 哈希//查看提交的内容
//每个commit对应着一个tree  
//该tree里存放文件快照或者嵌套的tree

//暂存区有了修改以后查看objects目录下的内容
find .git/object -type f
//基于某个commit就分离了头指针,此后的修改就不基于分支了
git checkout (commit哈希)
//分离头指针后再切换分支,刚才做的修改会被丢掉
//除非基于新提交再做分支
git branch 分支名  提交哈希
git commit --amend   --allow-empty//覆盖前一次的提交的message(偷偷提交)
git reset HEAD filename//取消某文件的暂存
git checkout -- filename//从版本区检出某文件
//修改最近一次的提交说明

git commit --amend //覆盖前一次的提交的message
//修改老的commit的提交说明(只推荐在未被合并到其他分支的分支进行)
git rebase -i  哈希//(待变提交的父提交的哈希id)
//两次交互
git rebase -i 哈希//父提交   然后选择s选项
git mv filenameA filenameB//将文件A 重命名为文件B
git log//详细罗列所有的提交历史
git log --oneline //将提交历史中的节点浓缩到一行
git log -n//数字  查看最近几次的提交
git log --all //查看所有分支的提交历史
git log --all --graph //查看所有分支的提交历史并且以简略图画区分不同分支的提交历史
gitk//会弹出图形界面详细罗列当前仓库的版本情况且可以做相应操作
image.png image.png
image.png
git diff --cached
git diff
git reset HEAD -- url
git reset --hard 父提交哈希id
git checkout -b branchname//创建一个叫branchname的分支
git checkout -b branchname  [头指针] //从某个commit节点创建一个叫做branchname的分支
git branch -b 分支  源/分支  //基于远端的某分支创建一个本地分支
git branch -v //查看本地分支
git branch -va //查看本地和远端所有分支
git merge 源/分支 //将某源上的某分支合并到当前分支
git clone //将远程克隆到本地
git push [别名(origin) 分支(master)]//将本地推送到远程
git pull [别名(origin) 分支(master)]//将远程拉取到本地并合并
git fetch <shortname|origin>//从远程仓库拉取(但不会自动合并到你的分支)
git pull <shortname|origin>//从远程仓库拉取并自动合并到你的仓库(保证是fast-words的)
git clone url//从远程仓库克隆内容,Git会给你克隆的仓库服务器一个默认的名字origin
git remote -v//查看git的远程仓库
git remote add <shortname> <url>//手动指定一个远程仓库
//为确保远程和本地提交内容一致,先git pull  再git push
//如果工作区中有一些未完成的修改,不能commit,也不值得add,怎么办?
git stash//暂存工作区中不成熟的修改
git stash apply//恢复暂存的未完成工作
git stash pop//恢复工作区中暂存的不成熟修改(并清空stash List)
git clone
git remote
https://docs.github.com/cn/github/authenticating-to-github/connecting-to-github-with-ssh
git remote -v//查看和本地仓库链接的远程仓库
git remote add 别名  仓库地址
git fetch 源 分支//将远端对应源的对应分支拉到本地
gitk
gitk --all
上一篇 下一篇

猜你喜欢

热点阅读