Git使用教程
1.git 初始配置
git config --global user.name "ruobai"
git config --global user.email "2522100775@qq.com"
cat ./.git/config/*(查看config文件内容)*/
2.git master工作空间创建
mkdir learngit /*创建一个learngit git工作空间(也可以叫做文件夹)*/
git init/*初始化git*/
3.git 创建文本文件
cat >file.txt/*cat创建文本文件*/
echo file.txt/*echo 单行查询*/
echo 'file content'>file.txt /*echo 置换文件内容*/
echo 'file content'>>file.txt/*echo 追加内容到文件最后一行*/
4.git 的时光穿梭机
(1) 版本提交
git add 'file.txt' /*提交至暂存区*/
git commit -m 'file comment or file version' /*提交至工作空间*/
(2)版本状态查看
git status
(3) 版本提交内容查看
git diff /*查看修改内容(能查看工作区暂存区的区别)*/
git diff --cached/*缓存区内容修改查看(能查看暂存区和分支区的区别)*/
git diff HEAD --(文件名)/*查看工作区和版本库里面最新版本的区别*/
(4)版本回退
git reset --hard head^ ##一个^代表之前的一个版本
git reset --hard commit_id ##版本号——id
git reset --soft commit_id ##HEAD^仅仅重置分支区的版本,工作区与暂存区不做重置
git reset --mixed ##重置分支区到指定版本之后,将工作区与分支区内容一致,工作区不发生重置
git reset --hard 版本号 ##全部重置到指定版本
(5)打印日志
git log
git log --pretty=oneline/*只输出版本号、和注释信息*/
git log --pertty=online --abbrev-commit/*单行简写显示*/
(6)命令记录查询
git reflog /*查看输入的有效命令*/
(7)git版本库
(8)版本撤销
-
工作区撤销
git checkout --文件名/*丢弃工作区的修改:具体作用(将这个文件回到最近一次git commit 或git add时的状态*/
-
添加暂存区后撤销
git reset head <file> git checkout <file>
-
添加到版本库后(版本回退)
(9)删除文件
-
查看暂存区文件列表
git ls-files
-
查看Git管理文件列表
git ls-files --with-tree=HEAD
-
工作区删除文件(未添加/未提交时适合)
rm <file>
-
仅删除暂存区文件
git rm --cached <file>
-
版本库和工作区同时删除文件
rm <file> git commit
5.分支基本操作
(1)创建分支
git branch <branch>
##查看系统分支
git branch
(2)创建分支并切换分支
git checkout -b <branch>
##切换分支
git checkout <branch>
(3)删除分支
git branch –d <branch>
##强制删除分支
git branch –D <branch> ##该命令无需合并即可删除
(4)分支合并与冲突
git merge <branch> ##对于分支的合并需要注意,若要将分支B合并到分支A上,首先要切换到A分支上,然后再运行合并命令
(5)分支冲突的产生
若master的内容更新在时间主干上是最后一个,且dev与master上最后一个提交版本内容不相同,此时将dev合并到master则可能会产生冲突
(6)查看历史版本中的合并显示
git log --pretty=online --gtaph --abbrev-commit
5.免密登录过程
6.远程仓库
(2)git远程仓库配置
-
创建SSH Key(SSH加密——一路回车)
ssh-keygen -t rsa -C "ruobai@example.com"
-
登录GitHub,打开“Account settings”,“SSH Keys"页面粘贴 id_rsa.pub文件内容[
(3)创建远程仓库
-
在github上创建一个仓库
-
克隆远程库
git clone ##远程库必须公开
-
从本地仓库推送到github上
git push -u <file> <分支名>
-
从github上拉取仓库
git pull
-
命名远程库
git remote add <name>##重命名 ##查看本地远程库信息 git remote ##删除本地远程库信息 gti remote rm
7.linux基础操作命令
##文件创建修改操作
touch file ##建立空文件,或修改文件的时间戳
touch file1 file2 ##建立多个文件(file1 file2)
mkdir ##建立单目录
mkdir -p ##建立多层目录
rm file ##删除file'文件夹,但是会提示是否删除,选择yes或者no
rm -f file ##强行删除文件不提示
rm -fr dir ##强行删除目录本身和里面的内容补提时
VIM
vim file ##进入file文件编译
##按按<esc>退出插入编译模式,进入浏览模式
##退出编译模式后可以对文本进行复制粘贴功能和批量操作 通过方向键操作光标进行操作
a: ##字符基本操作命令
yy ##复制一整行
yl ##复制一个字母
yw ##复制一个单词
p ##粘贴
dd ##删除一整行
dl ##删除一个字母
dw ##删除一个单词
cc ##剪掉整行
cl ##剪贴一个字母
cw ##剪贴一个单词
u ##撤销
ctrl+r ##恢复
b: ##批量操作管理
##在浏览模式下,输入ctrl + v 进入可视化模式,通过光标选择需要操作的字符所在
##按<I>进入插入模式并写入要加入的字符
##按<ESC>批量添加结束
##:%s/原有字符/修改后字符/g
##:1,5s/原有字符/修改后字符/g
##在浏览模式下退出输入:
:q ##当文件没有做任何修改是可用
:q! ##当文件修改但不行保存修改时可用
:wq ##退出保存
:wq! ##当文件属于自己或用户为root时可用
##文件查看
at file ##输出文件的所有内容
cat -b file ##输出文件所有内容并加入行号
less ##分页浏览 ##在分页浏览下:上|下 向上|向下移动一行 <pgup>|<pgdn> 向上|向下移动一页
/ ##关键字 高亮显示关键字,n向下匹配N向上匹配
q ##退出
tail -n ##显示文件的后多少行
head -n ##显示文件的前多少行
##文件的复制和移动
cp file file222 ##文件复制(将文件file复制到file222中)
cp file file222 123/ ##复制多个文件(file file222)到目录(123)中
cp -r file 123/ ##复制目录(123)
mv file file222 ##重名命
mv file 123 ##移动
mv file 123 ##移动目录
##文件路径操作
pwd ##显示当前工作目录
cd ##切换当前工作目录
cd /mnt ##切换到/mnt目录中
cd - ##进入当前目录之前所在目录中
cd ~student ##进入到student用户家目录