git基础命令

git简介

什么是git?

git是一种分布式版本控制系统。

git与svn之间的区别是什么?

  1. svn是集中式版本控制系统。
  2. git是分布式版本控制系统。

什么是集中式版本控制系统?有哪些特点?

  1. 版本库是集中存放在中央服务器。
  2. 集中式版本控制系统必须联网才能工作,本地电脑从中央服务器获取最新的版本,修改之后再推送给中央服务器。
  3. 中央服务器出现问题,会影响所有人的工作。

什么是分布式版本控制系统?有哪些特点?

  1. 分布式版本控制系统没有中央服务器,每个人的电脑上都是一个版本库。
  2. 分布式版本控制系统有一台用于交换大家修改的远程服务器,例如gitHub,gitLab。
  3. 与本地版本库的操作不需要联网。

git相比较svn有哪些优点?

  1. git可以在离线状态下继续工作,而svn不能。
  2. svn中央服务器的压力比较大,git适合分布式开发,强调个体,公共服务器压力和数据量不会太大。
  3. 适合开源项目的开发。

git常用命令

  1. $ init 初始化一个仓库。
  2. $ pwd 显示当前目录。
  3. $ git add 告诉git将文件添加到仓库。
  4. $ git commit 告诉git将文件提交到仓库。
  5. $ git commit -m “” 添加提交说明。
  6. $ git status 掌握仓库当前的状态。
  7. $ git diff readme.txt 查看修改文件具体修改情况。
  8. $ git log --pretty=oneline 查看提交记录和版本信息。
  9. $ git reset --hard XXX 版本回退。
  10. $ git reflog 查看命令历史,以便确定要回到未来的哪个版本。
  11. $ git checkout – file 丢弃工作区的修改。
  12. $ git reset HEAD file 清空暂存区。
  13. $ git rm file 删除工作区中的文件,提交后删除版本库中的文件。
  14. $ git checkout – test.txt 可以从版本库恢复到工作区。
  15. $ git remote add origin [email protected]:jiaxinxiao/learngit.git 关联github上的远程仓库。
  16. $ git push -u origin master 第一次将本地master分支的最新修改推送至github。后续可以使用git push origin master推送最新修改。
  17. $ git branch 显示分支信息。
  18. $ git checkout -b name 创建并切换到name分支上。
  19. $ git checkout -d name 删除名称为name的分支。
  20. $ git stash 可以把当前工作现场“储藏”起来,等以后恢复现场后继续工作。用于bug分支修复。
  21. $ git stash apply恢复,stash内容并不删除,需要用git stash drop删除。
  22. $ git stash pop恢复,恢复的同时把stash内容也删掉。git stash list查看stash内容。
  23. $ git branch -D 丢弃一个没有被合并过的分支。

更换远程库地址并合并代码

  1. git remote 查看远程库地址
  2. git remote rm origin 删除当前远程库
  3. git remote add origin {url} 添加新远程库地址
  4. git remote -v 查看远程仓库
  5. git fetch origin master:temp 从远程仓库获取最新版本到本地,并创建temp分支
  6. git diff temp 比较本地仓库与temp分支的区别
  7. git merge temp 合并temp分支到本地的master分支
  8. git branch -d temp 删除temp分支

如果该分支的代码之前没有merge到本地,那么删除该分支会报错,可以使用git branch -D temp强制删除该分支。

git工作区、暂存区、版本库之间的关系。

git基础命令_第1张图片

定义

  1. 初始化git版本库之后会生成一个隐藏文件.git,可以理解为git的版本库repository。其中包括master和stage。
  2. 我们自己建立的项目文件夹是工作区。
  3. 在.git文件夹里面有一个index文件,就是暂存区,也叫做stage。
    ###3.2 操作
  4. git add file1 是把文件从工作区提交到暂存区,git commit -m “prompty” file1 是把文件从暂存区提交到了分支master下面。
  5. git diff 比较的是工作区和暂存区的差别
  6. git diff --cached 比较的是暂存区和版本库的差别
  7. git diff HEAD 可以查看工作区和版本库的差别

如何将本地文件上传到gitHub?

  1. git init
  2. git add .
  3. git commit -m"first commit"
  4. git remote add origin url
  5. git push -u origin master

你可能感兴趣的:(GIT,git)