针对linux系统,全部采用shell命令的方式实现
一、查看相关信息
which -a git 查看git的安装位置
git version 查看git的版本
git help 学习相关的命令
二、git配置用户信息
1、git config --global user.name Liang 配置用户名
2、git config --global user.email 123456789@qq.om 配置用户邮箱
3、git config --get key 查看指定属性key所对应的value值,--get可以省略
4、git config --list --global 查看所有配置的属性
5、git config --global --add user.name name2 添加了一个新的user.name
6、删除属性
git config --global --unset user.name name2 删除user.name=name2 这个属性
git config --global --unset user.name 当user.name 只有一个值时不指定值
7、--replace-all 命令
git config --global --replace-all user.name newName 所有的用户被替换为一个用户属性user.name=newName
三、git生成.ssh
第一种:ssh-keygen
第二种:ssh-keygen -t rsa -C '123456@qq.com'
四、git本地操作 (git管理的是修改,而不是文件)
添加文件
git init 创建一个空的本地仓库
git add file 将指定文件传到本地仓库的暂存区(可以添加文件夹,可以多次添加)
git commit -m '提交名称' 将仓库中暂存区的内容,提交到历史仓库区
查看相关
git status 查看当前版本库的状态
git diff 查询本地工作区中内容,与历史仓库区中的不同
git log 查看所有提交历史记录
git log fileName 查看指定文件的历史提交记录
git log --pretty=oneline fileName 每条记录按行显示显示
撤销修改
git add之前(未提交到暂存区)
git checkout -- fileName
git add之后,git commit之前(提交到暂存区)分两步走:
第一步:git reset HEAD fileName
第二步:git checkout -- fileName
删除文件
执行删除
git rm fileName
git commit -m '提交名称'
撤销删除(仅限修改仍在工作区时)
git checkout -- fileName
版本回退
git reset 版本穿梭(结合git log 和git reflog使用)
HEAD 指向当前版本
git reset --hard HEAD^ 回退一个版本
git reset --hard HEAD~N 回退N个版本(N是数字)
git reset --hard 版本号 跳到指定版本(可以是回退之前的版本)
五、git远程操作
在github上设置ssh的公钥
01、复制.ssh文件夹下id_rsa.pub中的公钥
02、点github中的用户头像
03、点击setting
04、找到SSH and GP keys
05、粘贴复制的公钥
与远程库建立连接
第一种:分别创建本地仓库和远程仓库,然后建立连接
git remote add origin 复制的项目地址 建立连接
git pull --rebase origin master 当远程有readme.md文件时,先将远程合并到本地
git push -u origin master 提交本地仓库到远程,第一次使用-u,后面不再使用
第二种:先建立远程仓库,然后克隆到本地(常用,简便)
git clone 复制的项目地址 远程有什么,本地仓库有什么,无需合并
git push -u origin master 提交本地仓库到远程,第一次使用-u,后面不再使用
注意:
如果输入 git remote add origin git@.....
提示:fatal:remote origin origin already exists
解决如下:
先输入:git remote rm origin
再输入:git remote add origin git@.....
添加标签
git tag 定义标签名
git push origin --tags