俗话说好记性不如烂笔头!实在记不住,多写写总会记住的。记录一下学习版本控制工具git的常用指令。争取尽快都记住啊,磨手。
记不住可以查:git help
git help -a 所有命令;
git help -g 手册;
还可以具体到浏览器上查:
git help add
一、常用命令行
啥也不说先建个文件夹:
mkdir 文件名;
cd 文件夹路径;
cd .. 返回上一层
有几个地方得先明白:
workspace 工作区
index/stage 暂存区
remot 远程仓库
respository 仓库,也就是本地仓库啦!
然后就是初始化本地git仓库:
git init:初始化一个git仓库(repository),初始化完成之后会在
项目目录中自动创建一个.git隐藏文件夹,此文件夹是
git的版本记录,用来跟踪或者管理git仓库
看看库的状态
git status: 查看当前git仓库的状态
git status -s: 简单方式查看git仓库的状态
把工作区的文件添加到暂存区
git add 文件名 :把没有添加到暂存区的文件添加到暂存区(文件名可写多个)
git add . :把工作区没有添加到暂存区文件全部添加到暂存区(一次添加多个)
把缓存区的文件提交到本地仓库
git commit -m ‘提交的备注信息’ #把加入暂存区的文件提交到本地仓库
commit 提交,-m表示给提交的内容添加描述信息,用来备注本次
提交的信息。
注意:提交的备注信息不能省略,写的要有意义
查看版本库的历史操作记录
git log :查看git操作的详细历史记录
比如:
commit b979bc1782e8f56750554323474da72ebca03553 #本次操作的版本号(commit id 版本号是唯一的)
Author: abc <84233299@qq.com> #用户信息
Date: Tom 19 11:40:55 2017 +0800 #提交的日期
git log –oneline :把git操作日志简化为一行显示
git reflog :查看操作命令及日志
二、版本回退
1.修改的内容还没有添加到暂存区
git checkout – 文件名 #撤销工作区最后一次修改的内容,
前提是修改的内容还没有添加到暂存区
2.修改的内容已经添加到暂存区,但是还没有提交到本地仓库
先使用 git reset HEAD 文件名 #撤销添加到暂存区的内容
再使用 git checkout – 文件名 回退到上一个状态
3.修改的内容已经提交到了本地仓库
git reset –hard 版本号 #回退到指定的版本号的状态
三、本地仓库和远程仓库的连接
1.从远程仓库克隆到本地
git clone https://git.xxx.net/zzz/zz1weather.git #克隆项目,把远程库创建的好的(已经有的项目)项目同步到本地
git pull #同步远程库的文件到本地
git push #同步本地的文件到远程库
2.从工作目录连接远程库
git remote add origin git@git.oxxxxna.net:xxxheng/H21rili.git #连接远程库
先使用
git pull –rebase origin master #从远程库同步到本地
git push -u origin master #把本地仓库的内容推送到远程库
之后就是git pull/git push …..
四、添加公钥 sshkey
1.ssh-keygen -t rsa -C “84233399@qq.com” #生成公钥(邮箱:注册码云的邮箱)
生成公钥的步骤 a.生成公钥时,会提示我们选择保存的路径, 比如:Enter file in which to save the key (/Users/1/.ssh/id_rsa):
路径使用默认的,直接回车。
b.如果提示已经存在,可以直接覆盖掉,输入:y 然后回车 比如:/Users/1/.ssh/id_rsa already exists. Overwrite (y/n)?
c.最后会提示输入密码,密码可以不用输入,直接回车,就可以生成公钥
2.cat ~/.ssh/id_rsa.pub #查看公钥
比如输出:
ssh-rsa AAAAB3NzaC1yc2EAAAADAQABAAABAQC53lok+oPntpwg0E0p6z2Klxb7275YyWcWyxiQZk7sKL0J90xi1btvqd7MVEHH2UvuPluSKwyLVTQCmA1iWlqyRjuO4LBeY85feqkhKWi+haq5u9NEAcALS00vNH6URWS7Uz5gU1RIs3F9Ssd9V/VsWNJ28DVIGKYM2s8Vs0K1CQ3l0Ed0onlOsOb2vUa/5k8R64P8vS+EpV/1XsxH99cQK2tq8A6tyRBAGe406s/sNufV/EYvGcM9nQyz+QI/lxcoHCw0xc9kkezxk4X8uTxgwMBx5EkTmMzYxcr34jT+ltsMHULmaJPWoN4J55EdINY+9YzfpwqYABoQATjK0p8z 82226299@qq.com
3.ssh -T git@git.oschina.net #验证公钥是否添加成功,比如:如果返回Welcome to Git@OSC, Jxz! 说明返回成功
五、分支操作
git branch #查看所有分支,当前的分支前会有一个*符号
git branch 分支名 #创建一个分支
git checkout 分支名 #切换到指定的分支
git checkout -b 分支名#创建一个分支,并切换到分支(相当于创建+切换)
git merge 分支名 #合并指定分支的内容到当前分支
git log –graph #查看分支合并信息
git branch -d 分支名 #删除分支
六、.gitignore
.gitignore 用来添加不需要上传到远程库的文件,把文件名写在.gitignore文件内即可