git入门操作
http://www.imooc.com/wiki/github/git.html
检查git版本
leo@DESKTOP-B8RP2T4 MSYS ~
$ git --version
显示版本好,说明已经安装了git
git version 2.29.2
配置用户名和邮箱
leo@DESKTOP-B8RP2T4 MSYS ~
$ git config --global user.name 压缩疯雷
leo@DESKTOP-B8RP2T4 MSYS ~
$ git config --global user.email 776241154@qq.com
查看配置结果
leo@DESKTOP-B8RP2T4 MSYS ~
$ git config --global --list
显示结果如下。
user.name=压缩疯雷
user.email=776241154@qq.com
core.autocrlf=true
文件基本操作
提交
git commit -m 修改信息
查看状态
git status
查看日志
git log
添加文件
git add .
删除文件
git rm 文件名
重命名文件
git mv 原文件名 修改后文件名
移动文件
移动文件到home文件夹中
git mv demo.html home
移动文件并重命名
git mv demo2.html home/home.html
查看文件前后变化
方式1
git log --pretty=oneline home/home.html
可以取得提交版本ID
git show 版本ID
方式2
git log -p home/demo.html
版本管理
一键还原
未提交时,还原。
找不同,然后手动删除
git diff
使用命令还原指定文件到上一次提交状态
git checkout -- home/home.html
撤销暂存操作
放入暂存区后(add等操作),从暂中取消指定文件。
git reset HEAD home/home.html
回滚到指定版本
一个’^‘号回滚一个版本(多个’^'号回滚多个版本)
git reset --hard HEAD^
git reset -- hard 版本ID
仅恢复指定文件到指定版本
git log
//取得版本ID
git checkout 版本ID -- version.html
远程仓库
生成 ssh key 密钥
cd ~/.ssh
ssh-keygen -t rsa -C "xxx@qq.com"
完成后生成密钥
id_rsa是私钥,不需要上传
id_rsa.pub文件是公钥,需要上伟。
在github上填写公钥。
本地初始化并上传到仓库
git init
git add README.md
git add .
git commit -m 初始化
git remote add origin https://github.com/xxx/demo.git
git push -u origin master
克隆
git clone https://github.com/xxx/demo.git 本地文件夹名
git config --add --local user.name 压缩疯雷
git config --add --local user.email XXXXXXXXX@qq.com
git config --local --list
提交到远程仓库
本地commit后
git push origin master
版本标签管理
创建标签
默认是加到最新一次commit版本上面,添加后可以用git log查看到
git tag v1.0
标签加到指定版本
git tag v0.5 版本ID
查看标签
git tag
删除标签
git tag -d v0.5
推送标签到远程仓库
git push origin v1.0
分支
查看分支
git branch
显示结果分支前有星号表示当前所在分支
排序按首字母排序的
创建分支
创建一个dev分支
git branch dev
切换分支
跳转到dev分支
git checkout dev
删除分支
删除dev分支.(分支上有commit操作等,不允许删除)
(d 改为 D 可强制删除)
git branch -d dev
创建并切换到分支
git checkout -b test
合并分支到主分支
首先切找到主分支,然后合并
合并dev到master分支
git checkout master
git merge dev
解决合并分支时的冲突
在不同分支上修改了同一段代码时会产生冲突。
方式1:忽略其他分支的代码,保留当前分支的代码
git merge --abort
方式2:手动修改
git merge dev //冲突
//修改代码
git status
git add .
git commit
//手动修改 i进入编辑, wq保存退出(VIM那套)
git status //没有可提交的
git commit -m 解决冲突
git push
查看版本路线
git log
git log --oneline //简略
git log --oneline --graph //查看版本路线图
删除不想要的分支
git fetch //拉取远程仓库
git branch -av
git push origin --delete 分支名
不同人修改了不同文件
git merge orgigin/test
不同人修改了相同文件
查看本地分支和远端分支
git branch -av
A修改了代码后
git checkout -b test
git add .
git commit -m A的代码
git push
B
git branch -av
git fetch
git branch -av
git checkout -b test remotes/origin/test //创建了一个test分支
git add .
git commit -m B的代码
git push