git基本命令

1.在客户端拉取远程库
git clone git@服务端ip:/home/git/git_data #(远程库全部克隆)也可以用相对于git用户的家目录的相对路径这个会在客户端创建一个于服务当同名的目录
git fetch origin master #将远程主机的最新内容拉到本地,不进行合并
git pull origin master #将远程主机的最新内容拉到本地,进行合并,不会创建目录
2.创建文件并推送到远程(这一步要在执行了上面将远程库全部克隆到本地)
工作原理:在工作区创建修改文件–>add(添加到暂存区)–>commit(提交到本地库)–>push(推送到远程库,其客户带你的库就可以拉取看到,服务端被加密看不到)
cd git_data #cd 到拉取的库目录下
touch a.txt #这里也可以是其它创建文件命令
git add . #将库目录下的所有内容加到暂存区,git add a.txt 这是添加具体文件
git status #用于查看暂存区有哪些内容,在哪个分支,有哪些可以commit
git commit -m “第一次提交” #将暂存区的提交到本地git库,-m 为对提交的描述
git remote -v #查看远程仓库信息,
----------------做完上面的步骤才能推送到远程-----------------------
git push <远程主机名> <本地分支名>:<远程分支名> #推送命令语法
git push origin master #如果省略远程分支名,则表示将本地分支推送与之存在"追踪关系"的远程分支(通常两者同名),如果该远程分支不存在,则会被新建,常用
git push origin :master #等同于推送一个空的本地分支到远程分支,删除远程仓库的分支,git push origin --delete master
push -u origin dev #-u 推送到master下的具体哪个分支,这里推送到dev分支
而主机名可通过 git remote -v 得到
3.删除文件
rm -rm filename #删除未执行add添加到暂存区只在工作区的文件目录
git rm --cached filename #删除已经执行add被添加到暂存区的文件按目录,但工作区的还在
git rm -f filename #删除已经执行add被添加到暂存区的文件按目录,工作区的也会被删除
4.修改文件名
mv #未添加到暂存区的文件
git mv oldname newname #修改已添加得到暂存区文件名并修改工作区的文件名
5.查看commit提交记录
git log #查看提交历史记录,常用
git log -2 #查看最近几条记录
git log -p -1 #-p显示每次提交的内容差异,例如仅查看最近一次差异
git log --stat -2 #–stat简要显示数据增改行数,这样能够看到提交中修改过的内容,对文件添加或移动的行数,并在最后列出所有增减行的概要信息
git log --pretty=oneline # --pretty根据不同的格式展示提交的历史信息
git log --pretty=fuller -2 #以更详细的模式输出提交的历史记录
git log --pretty=fomat:"%h %cn" #查看当前所有提交记录的简短SHA-1哈希字串与提交着的姓名。
6.如何还原历史数据(还原到相应的commit提交后的值)
原理:每次commit都会产生一个不同于其它commit的hash值,通过这个hash值来回滚。
★ 首先git log 查看hash值,如下为执行结果(黄色的为每个commit的hash值)
commit 79595a624fbfc12494033ea83aea788ed5859ab6
Author: root my@qq.com
Date: Wed Oct 28 17:57:14 2020 +0800
new提交
commit 2072530b8ace65cf837a08b75919a1661f5f8425
Author: root my@qq.com
Date: Wed Oct 28 17:17:56 2020 +0800
新分支
commit 6db1efd2cc902187b6f3cf83a406ba9200ed98f9
Author: root my@qq.com
Date: Wed Oct 28 16:42:47 2020 +0800
★ 然后回滚到相应数据 (命令如下)
git reset --hard 2072530b8ace65cf837a08b759 #后面的hash值无需全部写完,写的能位置识别commit
git reset --hard HEAD^ #还原历史提交版本上一次(^有几个就还原到前面几个版本,般会用HEAD~5来表示往上数第五个提交版本)
7.还原了错误的历史数据如何解决
★ 首先 git reflog #查看未来历史更新点(未来的commit点)
e9ed8b3 HEAD@{0}: reset: moving to e9ed8b38a #执行reset的时间点,下面为未来的更新点
f5b7955 HEAD@{1}: commit: 456
e9ed8b3 HEAD@{2}: commit: commit 123
9d39411 HEAD@{3}: commit (initial): first commit
★ 然后 git reset --hard hash #根据hash值回滚
8.分支使用
git branch 新分支名 #创建新分支
git branch -b 新分支 #创建并切换到新分支
git branch -d 分支名 #删除已合并的分支
git branch -D 分支名 #删除未合并分支,删除后未合并的数据会丢失
git branch #查看所有分支,*号在哪代表你在哪个分支
* master
新分支名
git checkout 分支名 #切换到相应分支
-----当我切换到新分支后,并在新分支对库内容有改动(创建,增添,删除),并将改动的内容通过add,commit提交到本地库后,再切换到master分支是看不到你在新分支上所做的改动内容-----
git branch --no-merged #查看哪个分支没有master合并(即哪个分支上有内容在master上没有)
git merge 没有合并的分支名 #合并分支并保留原分支(没有合并的分支名由上面命令得到,要执行无结果即都合并了)
9.标签使用(利用标签回滚)
个人理解:标签就相当于commit的hash值的别名,当我们执行 git tag v1 打标签后,那v1就是执行(git tag v1)前面一个commit的hash值的别名(也可以说在哪个commit命令之后执行的tag命令,该标签就是那个commit的hash值的别名)
git tag v1 #将前面执行的committ提交的内容打标签
git tag v2 -m “对标签的描述” #创建标签并对标签添加描述
git tag #查看都有哪些标签
git show v1 #查看v1对应的commit及hash值
git tag -d v1 #删除标签
git reset --hard v1 #回滚数据到v1标签所对应的hash值(commit)处
git push origin v1 #推送v1所对应的对应的hash值(commit)处的数据到远程
一般本地标签是不会随数据推送而自动被推送到远程,需要我们手动推送
git push origin v1.0 #推送v1到远程
git push origin --tags #推送所有标签到远程
10.数据比对
git diff 命令比较文件的不同,即比较文件在暂存区和工作区的差异。
git diff 命令显示已写入暂存区和已经被修改但尚未写入暂存区文件对区别。
git diff 有两个主要的应用场景。
• 尚未缓存的改动:git diff
• 查看已缓存的改动: git diff --cached
• 查看已缓存的与未缓存的所有改动:git diff HEAD
• 显示摘要而非整个 diff:git diff --stat
这个命令为网上查到可去该网址学习:https://www.runoob.com/git/git-diff.html

我们克隆得到的目录为工作区,我们在工作区进行数据改动,这里点要牢记,要充分牢记工作区,暂存区,本地库,远程库的工作关系

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值