Git基础知识

一、命令行的演示

1.初始化一个代码仓库

  • git init

2.如果使用git,必须给git配置用户名和邮箱
给当前的git仓库配置用户名和邮箱

给git配置全局的用户名和邮箱

  • git config --global user.name "android"
  • git config --global user.email "[email protected]"

备注:如果既有当前配置又有全局配置,会优先使用当前配置,如果没有当前配置,会使用全局配置;

3.初始化项目

  • touch README.md :创建README.md
  • open README.md :打开README.md文件
  • git add README.md :将README.md 添加到暂缓区;也就是将工作区中修改过的文件或新添加的文件添加到暂缓区
  • git commit -m "描述“ :将暂缓区的所有内容提交到本地版本库,清空暂缓区
  • git add . :将在工作区的所有不在暂缓区的所有的内容添加到暂缓区;git 一般不使用星号作为通配符,一般使用点‘.’;

注意:添加的文件或者修改的文件都要通过add命令将该文件添加到暂缓区;

4.查看文件状态

  • git status

备注:
1.红色:该文件被添加或者被修改,但是没有添加到git的暂缓区
2.绿色:该文件在在暂缓区,但是没有提交到本地版本库

5.给命令行起别名

  • git config alias.st "status" :给查看状态的status的命令起别名
  • git config alias.ci "commit -m " :给他commit -m 起别名为ci,用的时候直接 git ci "描述“ 即可
  • git config --global alias.st "status" :全局配置status的别名

6.删除文件

  • git rm README.md :删除README.md文件

7.查看版本信息

  • git log :版本号是有sha1算法生成的40位哈希值,查看正常的版本信息;
  • git reflog :可以查看到所有版本回退的信息;

8.版本回退
一种是:本地写了东西,但是没有提交(指的是没有进行过commit命令),可以使用下面的命令直接回退;也就是放弃所有没有提交过的修改;

  • git reset --hard HEAD :回到当前版本(HEAD)就是git的指针;

一种是:写过的东西,已经提交了,使用如下命令:

  • git reset --hard HEAD^:回到上一个版本
  • git reset --hard HEAD^^:回到shag上上个版本
  • git reset --hard HEAD~100:回到前100个版本
  • git reset --hard 版本号(前5位:重复了就6位,依次类推):回到指定的版本号(git reflog得到的版本号);

提示:在git中,版本号是一个由SHA1生成的哈希值

版本回退的操作顺序:
1.git reset --hard HEAD^ :回到上一个版本(A角色)
2.git push -f :A角色强制上传到共享版本库
3.git reset --hard HEAD^ :回到上一个版本(B角色)
4.git pull :B角色再拉下代码,才真正的回退
注意:如果多人开发,想要版本真正的回退,必须合作,必须多人同时回退

9.给log起别名

10.git的工作区-Working directory
仓库文件夹里除.git目录以外的内容;也就是.git的同级目录及同级目录的子目录都是git的工作区,不包裹.git目录;

11.git版本库-Repository
就是.git目录,用于存储记录版本信息;

  • 暂缓区-stage
  • 分支-master:git会自动创建的第一个分支就是master分支;
  • HEAD指针:用于指向当前分支;
二 共享版本库
  • git服务器的搭建非常繁琐(Linux)
  • 可以把代码托管到github/OSChain
  • 一个文件夹
  • 一个U盘

1.一个文件夹作为共享版本库

  • git init --bare :(看到配置里面的config文件,bare=true;且里面无.git文件夹)

2.将共享版本库的所有内容下载到本地的一个文件夹(称为文件夹A)

  • git clone 克隆共享文件夹的地址

3.在文件夹A中创建忽略文件----svn是先创建项目,再创建忽略文件;git是在先创建忽略文件,在初始化项目;

  • touch .gitignore :在工作区中创建此文件
  • git add .
  • git commit -m "添加.gitignore文件"

4.创建项目
将创建的新项目的地址放在2中项目的文件夹A

三 现有项目 再添加版本控制

1.先创建一个代码仓库(比如在GitHub上创建)
2.git clone 上述创建的仓库地址 :clone远程仓库到本地文件夹A中
3.直接把存在的项目拖到文件夹A中
4.git add .
5.git commit -m "描述"

  1. git push [远程主机名] [本地分支名]:[远程分支名]

四 错误修改

  • 4.1 git pull 失败 ,提示:fatal: refusing to merge unrelated histories

在进行git pull 时,添加一个可选项:git pull origin master --allow-unrelated-histories

  • 4.2 git中Please enter a commit message to explain why this merge is necessary,Please enter a commit message to explain why this merge is necessary.解决方案如下:

请输入提交消息来解释为什么这种合并是必要的

Git基础知识_第1张图片
image

git 在pull或者合并分支的时候有时会遇到这个界面。可以不管(直接下面3,4步),如果要输入解释的话就需要:

1.按键盘字母 i 进入insert模式

2.修改最上面那行黄色合并信息,可以不修改

3.按键盘左上角"Esc"

4.输入":wq",注意是冒号+wq,按回车键即可

五、关联远程分支

git remote add origin [email protected]:git_username/repository_name.git

你可能感兴趣的:(Git基础知识)