Git使用教程
Posted it-xiaobai
tags:
篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了Git使用教程相关的知识,希望对你有一定的参考价值。
Git 安装:
windows及Mac下的安装直接在官网下载安装即可
Linux系统安装
Ubuntu sudo apt-get install git
CentOS sudo yum install git(没有安装yum命令需先安装)
检验是否安装成功
git --version 查看git版本
配置用户名和邮箱:
$ git config --global user.name "xxx"
$ git config --global user.email xxx@xx.com
生成ssh公钥
ssh-keygen -t rsa -C "xxxxx@xxx.com"
# Generating public/private rsa key pair...
# 三次回车即可生成 ssh key
查看公钥
cat ~/.ssh/id_rsa.pub
# ssh-rsa AAAAB3NzaC1yc2EAAAADAQABAAABAQC6eNtGpNGwstc....
将公钥添加至用户ssh_key
设置——>ssh公钥——>将上面生成的公钥复制进去保存即可
git使用教程
1.创建账号
2.设置->安全设置->SSH公钥->(将上面生成的ssh公钥复制进公钥输入框即可)
3.创建一个项目
4.本地打开项目进行初始化:git init -> git remote add origin (项目的https地址) origin为别名 如果存在可以删除也可以替换为其他
5.测试提交:git pull origin master
6.修改/添加文件,否则与原文件相比就没有变动:
git add .
git commit -m "第一次提交"
git push origin master
如果需要账号密码的话就输入账号密码,这样就完成了一次提交。此时,你可以在你的个人面板、项目主页查看到你的提交记录。
7.在新建项目时,如果在码云平台仓库上已经存在 readme 或其他文件,在提交时可能会存在冲突,这时用户需要选择的是保留线上的文件或者舍弃线上的文件,如果您舍弃线上的文件,则在推送时选择强制推送,强制推送需要执行下面的命令(默认不推荐该行为):
$ git push origin master -f
如果您选择保留线上的 readme 文件,则需要先执行:
$ git pull origin master
git其他常用指令:
git init 项目初始化(进入项目目录执行该指令,该目录下会生成隐藏的.git文件夹)
git clone xx.git 克隆
git pull 远程拉取到本地更新
git add xx(文件名/.) 将工作区文件添加到暂存区
git status 查看当前文件状态(工作区与暂存区文件状态对比)有差异就显示
git diff 显示提交后的改动详情
尚未缓存的改动:git diff
查看已缓存的改动: git diff --cached
查看已缓存的与未缓存的所有改动:git diff HEAD
显示摘要而非整个 diff:git diff --stat
git commit -m ‘提交说明‘ 将暂存区文件提交到版本库
如果你觉得 git add 提交缓存的流程太过繁琐,Git 也允许你用 -a 选项跳过这一步
$ git commit -am ‘提交说明‘
git push 提交 第一次提交参考:git push https://github.com/xxxx.git master (输入账号密码)
文件提交如果提示No configured push destination. Either specify the URL from the command-line
则需要设置目标地址git push git@github.com:xxxxxxxx.git
设置默认参数:git remote add 远程仓库名 git@github.com:xxxxxxxx.git
然后在提交
第一次推送: $ git push -u 远程仓库名 master -f(强制提交使用)
如果出现error: failed to push some refs to ‘xxx‘,错误可能是本地没有初始化iml文件
执行git pull --rebase 远程仓库名 master 初始化本地iml文件后在提交
初次使用(git push --set-upstream 远程仓库名 master)提交,前提是设置了默认参数
日志查询
查询所有日志 $ git log
查询简洁版日志$ git log --oneline
版本标签
给最新一次提交上去打一个版本标签 $ git tag -a 版本号
当我们执行 git log --decorate --graph时,我们可以看到我们的标签
暂存区操作
git commit --amend 撤销上一次提交,并将暂存区的文件重新提交
git checkout -- 文件名/. 拉取暂存区的文件并将其替换工作区文件
git reset HEAD 文件名/. 拉取版本库文件到暂存区(HEAD为修改最近一次的暂存,也可以修改为log里面的commit版本号,根据版本号进行拉取)默认为:git reset --hard HEAD
git reset --mixed HEAD 将版本库和暂存区回退到指定的head状态,本地文件不受影响
git reset --soft HEAD 将版本库和回到HEAD的版本,其他不受影响
git rm --文件名/. 删除工作区及暂存区的文件,相当于删除文件后执行 git add .
git rm --cached 文件名; 在不小心将不需要的文件添加到暂存区,删除暂存区的文件不删除本地文件使用该指令
git分支操作
git branch 查看所有分支
git branch xxx 创建名为xxx的分支
git checkout xxx 切换至xxx的分支
git branch -d xxx 删除xxx分析(前提必须是未在该分支下)
git branch -m xxx yyy 将xxx分支名修改为yyy分支
git checkout -b xxx 创建名为xxx的分支并切换至xxx分支
git merge xxx 将xxx分支合并到当前分支下
git储存变更
git stash
git stash list 展示储存信息列表
git stash apply stash@num stash后面不加数字则表示应用最后一次储存信息
git stash drop stash@num stash后面不加数字则表示删除最后一次储存信息,加数字则代表删除指定运行储存的信息
提交文件隔离(指定某些文件、文件夹不被提交)
touch .gitignore 创建.gitignore文件
vim .gitignore 编辑不需要上传的文件/指定类型文件/文件夹
隔离类型参照glob模式
* 匹配零个或多个任意字符
[abc] 匹配任意一个列在方括号的字符
? 只匹配一个任意字符
[0-9],[a-z] 匹配范围
以上是关于Git使用教程的主要内容,如果未能解决你的问题,请参考以下文章