首页 > 新闻资讯 > 西安格创让你三分钟学会git
西安格创让你三分钟学会git
时间:2019-09-06
https://git-scm.com/
安装好后右键点击git bash here即可输入git命令
git有三区,知道提交顺序就行。
工作区:指代码所在目录。
暂存区: ".git目录" 下的index文件。
版本库:工作区下的.git隐藏目录。
提交顺序为:工作区->暂存区->版本库
//提交指定文件或指定目录下的文件到暂存区
git add 文件夹或文件名
//提交到版本库
git commit -m “注释”
注:git add .可以提交所有改动文件到缓存区
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
如果不想链接远程仓库,也可以在本地使用git,在项目文件夹下输入以下代码
git init
clone远程仓库或者本地新建仓库后,应先设置用户名称和用户邮箱。
设置用户名和邮箱
git config user.name “用户名”
git config user.email “邮箱”
查看用户名和邮箱
git config user.name
git config user.email
git pull
//提交代码到暂存区
git add .
//提交代码到本地版本库
git commit -m “注释”
//更新最新的远程仓库代码
git pull
//推送代码到远程仓库
git push
·比较暂存区与工作区之间的差异
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 文件名或文件夹
//回到到某个提交版本,不指定commit-id则回退到最新版本
git reset --hard commit-id
注:记得保留最新的版本id,否则无法回退回来。如果未记得保留用以下代码查看操作日志
git reflog
·使用git命令删除文件
rm 文件名
git rm 文件
rm删除文件只是单纯删除文件,git rm删除文件时还会执行commit操作。使用git rm删除提交到暂存区的文件时会报错。
·删除暂存区文件
//只从暂存区中删除,如果没有物理文件则报错
git rm --cached 文件名
//从暂存区和工作区同时删除
git rm --f 文件名
//查看完整历史记录
git log
//查看简化版历史记录,oneline可以将每条日志输出为一行
git log --oneline
//查看最新的commit
git show
//查看指定commit-id的所有修改
git show commit-id
//查看某次commit中具体某个文件的修改
git show commit-id fileName
//列出那些文件做了改变(工作区和仓库做比较)
git checkout
//恢复所有文件
git checkout .
//恢复指定文件或指定目录下的文件
git checkout 文件夹或文件名
注:git checkout会从暂存区恢复文件,如果暂存区没有则从最新的版本库恢复
使用git rm --cached后无法使用git checkout文件夹或文件名
//恢复指定版本的所有文件
git checkout commit-id . 恢复指定版本所有文件
//恢复指定版本下的指定文件或指定目录下的文件
git checkout commit-id 文件夹或文件名
什么是分支?
//新建分支
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 分支名
·pull代码后进行push时发生文件冲突解决办法
打开冲突文件
冲突代码git会用>>>哈希值进行标记,将冲突代码进行修改并删除git标识代码
重新commit后再push到远程仓库。
15、Git使用注意事项
1. 提交代码时,不同的改动要分开提交,不能一次提交多个改动。比如新增了一个功能和修复了一个bug,要把新增的功能和修复的bug分成两次提交,不可以放在一起提交。
2. 提交代码一定要有注释说明这次提交的内容。
3. 提交代码时一定先pull再push。