首页 > 新闻资讯 > 西安格创让你三分钟学会git

西安格创让你三分钟学会git

时间:2019-09-06

1、下载安装git

https://git-scm.com/

安装好后右键点击git bash here即可输入git命令

2、git工作区、暂存区和版本库

git有三区,知道提交顺序就行。

工作区:指代码所在目录

暂存区: ".git目录" 下的index文件。

版本库:工作区下的.git隐藏目录。

提交顺序为:工作区->暂存区->版本库

//提交指定文件或指定目录下的文件到暂存区

git add 文件夹或文件名

//提交到版本库

git commit -m 注释

注:git add .可以提交所有改动文件到缓存区

3、下载远程仓库代码

git clone 远程仓库地址

:从码云复制远程仓库时,需要先创建ssh私钥,否则会报以下错误:

fatal: Could not read from remote repository.

Please make sure you have the correct access rights

and the repository exists.

解决办法:

//创建私钥,git上输入以下代码然后回车三次

ssh-keygen -t rsa -C "用户名"

//查看私钥,git上输入以下代码然后复制出现的全部信息

cat ~/.ssh/id_rsa.pub 

4、建立本地仓库

如果不想链接远程仓库,也可以在本地使用git,在项目文件夹下输入以下代码

git init

5、配置git

clone远程仓库或者本地新建仓库后,应先设置用户名称和用户邮箱。

设置用户名和邮箱

git config user.name 用户名

git config user.email 邮箱

查看用户名和邮箱

git config user.name

git config user.email

6、从远处仓库更新代码

git pull

7、推送代码到远程仓库,依次输入以下代码

//提交代码到暂存区

git add .

//提交代码到本地版本库

git commit -m 注释

//更新最新的远程仓库代码

git pull

//推送代码到远程仓库

git push

8、比对差异文件

·比较暂存区与工作区之间的差异

git diff 会优先比较暂存区和工作区之间的文件差别,如果没有则比较工作区和版本库

//比较所有文件差异

git diff

//比较指定目录或者文件差异

git diff 文件名或文件夹

·比对指定版本库与工作区的文件

//比对和某个版本之间的所有文件差异

git diff commit-id

//比较和某个版本之间的指定目录或者文件差异

git diff commit-id 文件名或文件夹

·比对暂存区与指定提交差异

//最近版本所有差别

git diff --cached

//最近版本指定目录或者文件差异

git diff --cached 文件名或文件夹

//指定版本所有差别

git diff --cached commit-id //指定版本所有差别

//指定版本指定目录或者文件差异

git diff --cached commit-id 文件名或文件夹

9、回退版本

//回到到某个提交版本,不指定commit-id则回退到最新版本

git reset --hard commit-id

注:记得保留最新的版本id,否则无法回退回来。如果未记得保留用以下代码查看操作日志

git reflog

10、删除文件

·使用git命令删除文件

rm 文件名

git rm 文件

rm删除文件只是单纯删除文件,git rm删除文件时还会执行commit操作。使用git rm删除提交到暂存区的文件时会报错。

·删除暂存区文件

//只从暂存区中删除,如果没有物理文件则报错

git rm --cached 文件名

//从暂存区和工作区同时删除

git rm --f 文件名

11、查看历史记录

//查看完整历史记录

git log

//查看简化版历史记录,oneline可以将每条日志输出为一行

git log --oneline

//查看最新的commit

git show

//查看指定commit-id的所有修改

git show commit-id

//查看某次commit中具体某个文件的修改

git show commit-id fileName 

12、从版本库或暂存区恢复文件

//列出那些文件做了改变(工作区和仓库做比较)

git checkout

//恢复所有文件

git checkout .

//恢复指定文件或指定目录下的文件

git checkout 文件夹或文件名

:git checkout会从暂存区恢复文件,如果暂存区没有则从最新的版本库恢复

使用git rm --cached后无法使用git checkout文件夹或文件名

//恢复指定版本的所有文件

git checkout commit-id . 恢复指定版本所有文件

//恢复指定版本下的指定文件或指定目录下的文件

git checkout commit-id 文件夹或文件名

13、分支

什么是分支?

//新建分支

git checkout -b 分支名

//切换分支,未提交到暂存区文件不会保存

git checkout 分支名

//合并指定分支到当前分支下

git merge 分支名

//查看本地分支列表

git branch

//查看远程版本库分支列表

git branch -r

//查看所有分支列表,包括本地和远程

git branch -a

//可以查看本地分支对应的远程分支

git branch -vv 

给分支重命名

git branch -m oldName newName

//删除分支

git branch -d 分支名

注:删除分支存在未合并commit提交时无法删除,应使用强制删除

//强制删除分支

git branch -D 分支名

14、常见问题解决

·pull代码后进行push时发生文件冲突解决办法

打开冲突文件

冲突代码git会用>>>哈希值进行标记,将冲突代码进行修改并删除git标识代码 

重新commit后再push到远程仓库。

15、Git使用注意事项

1. 提交代码时,不同的改动要分开提交,不能一次提交多个改动。比如新增了一个功能和修复了一个bug,要把新增的功能和修复的bug分成两次提交,不可以放在一起提交。

2. 提交代码一定要有注释说明这次提交的内容。

3. 提交代码时一定先pull再push。


格创科技 专业成就品牌

以真诚和专业 , 为客户提供真正有价值的 , 一站式传播解决方案

返回顶部

服务热线

189 6671 7535

156 9181 3376

在线咨询 1

微信扫码咨询