Git基本使用

Git导入

  • Git是目前世界上最先进的分布式版本控制系统, 由大神Linus花了两个星期用C写的 (真的牛逼...)

  • 集中式: 版本库存放在中央服务器

  • 分布式: 每个人电脑上都有一个完整的版本库

Git安装

  • 反正我已经安装好了

创建版本库

  • 打开Git Bash, 输入如下命令
$ mkdir learngit
$ cd learngit
$ pwd  
/c/Users/Black/learngit
  • 再输入如下命令初始化
$ git init
Initialized empty Git repository in C:/Users/Black/learngit/.git/
  • 把文件 (readme.txt) 添加到版本库
先新建一个readme.txt文件放入learngit文件夹下面 
$ git add readme.txt
$ git commit -m "wrote a readme file"
[master (root-commit) 72a85ed] wrote a readme file
 1 file changed, 2 insertions(+)
 create mode 100644 readme.txt  
  • 总结

初始化一个Git仓库,使用git init命令。

添加文件到Git仓库,分两步:

  1. 使用命令git add ,注意,可反复多次使用,添加多个文件;
  2. 使用命令git commit -m ,完成。( -m 后面输入的是本次提交的说明)

时光机穿梭

版本回退

  • HEAD指向的版本就是当前版本,因此,Git允许我们在版本的历史之间穿梭,使用命令git reset --hard commit_id
    • git reset --hard HEAD^ 返回上一版本
    • git reset --hard HEAD 7413b 根据版本号返回
  • 穿梭前,用git log可以查看提交历史,以便确定要回退到哪个版本。
  • 要重返未来,用git reflog查看命令历史,以便确定要回到未来的哪个版本。

工作区和暂存区

  • git diff 查看工作区和暂存区的区别
  • git diff --cached 查看暂存区和仓库的区别
  • Git管理文件的三种状态: 已修改(modified), 已暂存(staged), 已提交(committed)

管理修改

  • 第一次修改--->git add--->第二次修改--->git commit

    这样会导致第二次修改没有被提交到版本库

撤销修改

  • git checkout -- 文件名, 把文件在工作区的修改全部撤销
    • 文件自修改后还没被放到暂存区, 则回到版本库一模一样的状态
    • 已经添加到暂存区, 又做了修改, 则回到添加到暂存区后的状态
    • 总之,就是让这个文件回到最近一次git commitgit add时的状态。

删除文件

  • rm test.txt 删除工作区文件2
  • git rm test.txt --> git commit -m "remove test.txt" 删除版本库中的文件

远程仓库

建立本地和GitHub连接

  • 注册GitHub账户

    • 反正我早就注册过了
  • 创建SSH Key

    • 先检查用户主目录下有没有.ssh目录, 以及这个目录里面有没有id_rsa(私钥)和id_rsa.pub(公钥)两个文件, 如果没有, 进行下面操作

    • ssh-keygen -t rsa -C "邮箱", 然后一路回车即可

  • 登录GitHub--->个人主页点头像--->Settings---->SSH and GPG keys--->SSH keys

    • Title随便输
    • Keys里面拷贝id_rsa.pub 里面的内容

添加远程库

  • 在GitHub上创建一个learngit库

  • 在本地的learngit仓库下运行命令: git remote add origin git@github.com:MrBigBlake/learngit.git

    • origin 是远程库的默认叫法, 可以改成别的
  • 把本地库内容推送到远程库上 git push -u origin master

    • 把当前分组master推送到远程库

从远程库中克隆

  • 先在GitHub上创建一个远程库gitskills---->勾选下面的Initialize this repository with a README
  • git clone git@github.com:MrBigBlake/gitskills.git 克隆一个本地库

分支管理

创建和合并分支

  • 创建dev分支, 然后切换到dev分支

    • git branch dev
    • git switch dev
    • 当然上面的两步可以简化为git switch -c dev
  • git branch命令查看当前分支

  • dev分支上对readme.txt做个修改, 加上一行Creating a new branch is quick., 然后提交

  • 切回master分支

  • 查看readme.txt, 发现刚添加的内容不见了

  • dev分支的工作成果合并到master分支上: git merge dev

  • 删除分支git branch -d dev

小结

Git鼓励大量使用分支:

查看分支:git branch

创建分支:git branch <name>

切换分支:git switch <name> `

创建+切换分支:git switch -c <name> `

合并某分支到当前分支:git merge <name>

删除分支:git branch -d <name>

原文地址:https://www.cnblogs.com/bigb/p/11761632.html