首页 > 其他分享 >git练习

git练习

时间:2023-02-24 20:36:21浏览次数:33  
标签:文件 git 练习 修改 版本 readme txt

创建版本库

版本库又名为仓库,可以简单理解成一个目录。这个目录里面的所有文件都可以被git管理起来,每个文件的修改,删除,git都能跟踪,以便任何时刻都可以追踪历史,或者在将来某个时刻可以"还原"。

所以,创建一个版本库非常简单,首先,选择一个合适的地方,创建一个空目录:

mkdir learngit
cd leargit
pwd #用于显示当前目录

第二步,通过git init命令把这个目录变成git可以管理的仓库

git init

这样就把仓库建好了,而且是一个空的仓库(empty git repository),此时当前目录下多了一个.git的目录,这个目录是git来跟踪管理版本库的,没事千万不要手动修改这个目录里面的文件,不然乱改了,就把git仓库给破坏了。

如果你没有看到.git目录,那是因为这个目录默认是隐藏的,用 ls -ah命令就可以看见。

把一个文件放到git仓库只需两步

第一步,用命令 git add告诉git,把文件添加到仓库

git add readme.txt

第二步,用命令git commit告诉git,把文件提交到仓库

git commit -m "fix"

我们已经成功的添加并提交了一个readme.txt文件,现在,是时候继续工作了,于是。我们修改readme.txt.修改文件

现在,运行git status 命令看看结果

虽然git告诉我们radme.txt被修改了,但如果能看看具体修改了什么内容,自然是很好的。所以,需要用git diff 这个命令来看。

git diff顾名思义就是查看difference,显示的格式正是Unix通用的diff格式.
然后,我们可以继续提交,并查看当前状态

Git告诉我们当前没有需要提交的修改,而且,工作目录是干净(working tree clean)的。

版本回退

不断对文件进行修改,一旦你把文件改乱了,或者误删了文件,还可以从最近的一个commit恢复,然后继续工作,而不是把几个月的工作成果全部丢失。

实际工作中,我们可以用 git log命令查看日志

需要友情提示的是,你看到的一大串类似1094adb...的是commit id(版本号)
上一个版本就是 HEAD^,上上一个版本就是 HEAD^,当然往上100个版本写100个比较容易数不过来,所以写成HEAD~100

git reset --hard HEAD^

HEAD 指向的版本就是当前版本,因此,git允许我们在版本的历史之间穿梭,使用命令 git reset --hard commit_id
用 git log可以查看提交历史,以便确定要回退的哪个版本
用git reflog查看命令历史,以便确定要回到未来的哪个版本
例如,我们在工作区写错东西或其它,可以用 git checkout -- file可以丢弃工作区的修改

git checkout -- readme.txt

命令git checkout -- readme.txt意思就是,把readme.txt文件在工作区的修改全部撤销,这里有两种情况:

一种是readme.txt自修改后还没有被放到暂存区,现在,撤销修改就回到和版本库一模一样的状态;

一种是readme.txt已经添加到暂存区后,又作了修改,现在,撤销修改就回到添加到暂存区后的状态。

总之,就是让这个文件回到最近一次git commit或git add时的状态。

在git中,删除也是一个修改操作,我们直接在文件中把不用的删了,或者用 rm命令删了

rm jia.txt

这个时候,git知道你删除了文件,因此,工作区和版本库就不一致了,git status

现在你有两个选择,一是确实要从版本库中删除该文件,那就用命令git rm删掉,并且git commit:

现在,文件就从版本库中被删除了。

远程仓库*
第1步:创建SSH Key。在用户主目录下,看看有没有.ssh目录,如果有,再看看这个目录下有没有id_rsa和id_rsa.pub这两个文件,如果已经有了,可直接跳到下一步。如果没有,打开Shell(Windows下打开Git Bash),创建SSH Key:

ssh-keygen -t rsa -C "[email protected]"

一路回车

登录gitee,在“ssh keys”里粘贴id_res.pub的内容

已有仓库?*

cd existing_git_repo
git remote add origin https://gitee.com/luckyle0628/learngit.git   #把它与远程库关联
git push -u origin "master"

我们在本地库上使用命令git remote add把它和Gitee的远程库关联:

**
git add .
git commit -m "fix"
git pull
pit push origin master
**

标签:文件,git,练习,修改,版本,readme,txt
From: https://www.cnblogs.com/djl-0628/p/17153025.html

相关文章

  • Git基础命令
    Git本地仓库和命令配置用户下载完Git后,右键会有一个GitBashhere的选项,点击后会弹出一个类似于命令行的窗口。在此输入此命令配置用户名和邮箱$gitconfig--globa......
  • Hexo+Github搭建个人博客
    参考博客:https://blog.csdn.net/qq_54796785/article/details/126053172注意:仓库名应为GitHub的用户名heox的基本命令hexonew"postName"#新建文章hexonew......
  • git log 查看分支图
    操作:在gitconfig文件里面设置别名。gitconfig--globalalias.lg"log--graph--all--pretty=format:'%Cred%h%Creset-%C(yellow)%d%Creset%s%Cgreen(%cr)%C(bol......
  • 【练习】不同排序算法执行时间比较
    插入:template<typenameDataType>voidinsert(DataTypeD[],intlength){DataTypekey;for(intj=2;j<length;j++){......
  • eclipse链接gitee
    Eclipse链接gitee(通过SSH)创建gitee账号进入gitee官网工作台-Gitee.com(2)点击注册填写相关信息(3)创建仓库填入相关信息在eclipse上适配gitee环境生成密钥(2)在eclipse窗口......
  • Gitlab 设置页面语言为简体中文
    1.用户登录,点击头像,再点击Preferences2.向下滑动,找到 Localization,进行修改,并保存3.刷新页面,就更改成简体中文了    出处:https://blog.csdn.net/m0......
  • 关于github的自动化检测
    github中的Somecheckswerenotsuccessful什么意思呢? 在GitHub上,当您向存储库提交拉取请求时,如果存在自动化的检查(例如CI/CD)或在pullrequest页面中的某个......
  • AKS for Gitpod
    ------实习期间做的一个小项目距今一个多月两个月-----------------1.FirstWeeklocalk8s命令行:kubectl✅运行Kubernetes:kind,minikube✅,kubeadmfirststep:mini......
  • 点分治练习题单(动态更新)
    传送门有点难,慢慢做。1.P2634[国家集训队]聪聪可可比板子要简单一点,分治时寻找路径时用桶记录模数为\(0,1,2\)的个数,再进行\(01\)背包即可。统计答案时由于两点可......
  • 树剖练习题题解总和(动态更新)
    这篇博客的练习题题解1、P3384【模板】轻重链剖分/树链剖分模板题,详见此#include<iostream>#include<cstdio>#include<vector>usingnamespacestd;intn,m,r,p,t[......