如何用xshell(Linux)调用git

首先是git在xshell下的安装

在别的博客上看到了是linux在Debian或Ubuntu Linux下安装的只需要输入命令行就可以安装了,但xshell不能识别那些命令,以下是我截的图:
源自廖雪峰老师
这是git下载源码的地址可以下载.gz 的包https://mirrors.edge.kernel.org/pub/software/scm/git/
ice 安装包
直接下载这个就行,目前这个是最新版的。
但是我都电脑可能是内网的原因老是下载失败,就问我的导师要了一份,秒下,可以给大家百度网盘的链接:
链接:https://pan.baidu.com/s/1xIhQphp-AQhvPwHg3BoPfw
提取码:gyzs

里面还有一份在B站上看视频下载的笔记,比我写的详细而且还有案例,看我这看不懂的可以看他的,还有一个《Git权威指南》一本书很厚,想看的可以看看。
接下来就是安装咯!!!!
下载完移动到/root下
解压:tar -zvxf git-1.8.4.2.tar.gz
进入文件夹:cd /root/git-1.8.4.2
在当前目录下创建文件夹:mkdir /usr/local/git
编译到指定文件夹:make prefix=/usr/local/git all
安装到指定文件夹:make prefix=/usr/local/git install
添加path:vi /etc/profile
最后一行输入:PATH=$PATH:/usr/local/git/bin
export PATH
保存退出:source /ect/profile
查看是否安装成功:git --version
也可以直接输入git 会显示一大串关于git的东西
安装ok

接下来就是操作了

操作阶段

随便在目录下创建一个目录:mkdir git_test
进入目录: cd git_test
创建仓库:git init
ls -al 会有一个隐藏文件 .git在这里插入图片描述
创建一个文件:vi test.cpp 输入内容
git add test.cpp //添加修改到暂存区,可以多次后进行add 最后进行commit
git commit -m “Hello world” //" "中是备注 创建版本记录,每创建一次记录就创建一个结点
在这里插入图片描述
我们的编辑工作都是在工作区完成,add将代码提交至暂存区,git commit可以将暂存区所有的代码都进行提交到一个版本。
在这里插入图片描述
显示备注你的个人信息在这里插入图片描述
备份成功!

git log 显示当前版本
git log --pretty=oneline 将版本修改显示为一行
历史版本:指向最新版本的指针叫HEAD HEAD的前一个版本就可以使用HEAD^ 前两个是HEAD^^ 前100个用HEAD~100
回到前一个版本命令: git reset --hard HEAD^
又想回到版本二:git reset --hard 版本号
如果找不到版本号可以使用 git reflog
在这里插入图片描述
-m 后面的” “内容可以一样,但是***不一样
如果我新加了一个文件,没有add ,在命令行输入git status 可以看到
在这里插入图片描述
然后就可以写git add test.cpp test2.cpp
在这里插入图片描述
没有 add 撤销修改:git checkout – test2.cpp
在这里插入图片描述
add后用命令git reset HEAD test2.cpp 可以将暂存区的修改撤销掉,重新放回工作区然后再用git checkout – test2.cpp 就可以撤销修改。
在这里插入图片描述
在工作区加了一行代码,没有提交,查看工作区的代码与版本库中的代码的不同可以用命令:git diff HEAD – test2.cpp
在这里插入图片描述
使用git 可以对比后一个版本比前一个版本多什么或者少什么在这里插入图片描述

删除文件rm test2.cpp 也是工作区的改动
1.在工作区删除了test2.cpp 可以通过命令:git checkout-- test2.cpp 恢复
2.在工作区删除 了test2.cpp 然后上传到暂存区:git rm test2.cpp ,可以git reset HEAD test2.cpp,然后git checkout – test2.cpp 恢复
3.已经在暂存区删除了要建立版本可git commit -m “删除test2.cpp”
4.新创建的文件如果没有往暂存区存储,删除后就直接删除了,使用git checkout – test.cpp 也不好使。
git checkout – file命令中的–很重要,没有–,就变成了“切换到另一个分支”的命令
在这里插入图片描述
分支

HEAD->master->结点 创建分支就是在结点处建立新的指针 让HEAD指向新的指针dev->结点
1.查看分支:git branch
2.创建分支并并切换到其上进行工作:git checkout -b dev
在这里插入图片描述
在dev分支中提交版本后会在dev中增加结点不影响master
在这里插入图片描述
查看分支:git branch
创建分支:git branch /git switch -c //最新版
切换分支:git checkout /git switch //最新版
创建+切换分支:git checkout -b
合并某分支到当前分支:git merge
删除分支:git branch -d
2.解决分支冲突
git log --graph --pretty=oneline
在这里插入图片描述
使用git merge 默认是快速合并,没有记录 要取消快速合并使用命令:
git merge --no-ff -m “禁用快速合并”
3.bug分支
软件开发中,bug就像家常便饭一样。有了bug就需要修复,在git中,由于分支是如此的强大,所以,每个bug都可以通过一个新的临时分支来修复,修复后,合并分支,然后将临时分支删除。当手头工作没有完成时,先把工作现场git stash一下,然后去修复bug,修复后,再git stash pop,恢复工作现场。
你可以多次stash,恢复的时候,先用git stash list查看,然后恢复指定的stash,用命令:
$ git stash apply [email protected]{0} 在master分支上修复的bug,想要合并到当前dev分支,可以用git cherry-pick 命令,把bug提交的修改“复制”到当前分支,避免重复劳动。 开发一个新feature,最好新建一个分支; 如果要丢弃一个没有被合并过的分支,可以通过git branch -D 强行删除。