当前位置: 首页 > news >正文

learngit git常用指令

learngit & git常用指令

目录

  • learngit & git常用指令
    • 1.add && commit
    • 2.status && diff
    • 3.log && reset && reflog
    • 4.Repositoty(版本库)
    • 5.checkout
    • 6.rm
    • 7.github(push && rm)
    • 8.clone
    • 9.branch && switch && merge
    • 10. --no-ff选项
    • 11.bug分支
    • 12.branch -D
    • 13.合作
    • 14.rebase
    • 15.tag
    • 16.fork
  • git的尽头是SourceTree

1.add && commit

git add readme.txt
git commit -m "the 1st version"

2.status && diff

git status #查看git目前在哪一个branch上,以及该branch的状态
git diff readme.txt #查看文件的变化

3.log && reset && reflog

git log
git log --pretty=oneline #可以看到每一个版本的id
git reset --hard HEAD^ #HEAD~10,往上数10个版本
#hard选项表明,这是回退到上个版本已经提交的状态
#当然也可以通过版本id恢复
不幸的是,你已经关闭终端...

在git中,总是有后悔药可以吃的。 ---廖雪峰
git reflog #追溯你的每一步动作

4.Repositoty(版本库)

在这里插入图片描述

git 的优越性就在于其对每次修改的追踪而不是对每一个文件的追踪
换言之,一个文件的所有状态都可以被 git 感知,而不是只在乎当前的状态

5.checkout

git checkout -- readme.txt #修改之后没有再add的情况
git reset HEAD readme.txt #将当前缓存区的readme.txt文件舍弃到工作区
#适用于已经add的情况

6.rm

git rm <file>#在工作区删除文件后 
该命令等价于 git add <file>
git commit -m "delete sth." #难道是修改版本库的日志吗?

7.github(push && rm)

git remote add origin git@github.com:michaelliao/learngit.git
git branch -M main #分支改名
git push origin main #推送
git remote rm origin
#还有查看远程仓库信息,分支等等,文ai就对了

git的服务器仓库

  • 下载此电脑的ssh

  • 进入git bash

     ssh-keygen -t rsa -b 4096 -C "your_email@xx.com"
     cat ~/.ssh/id_rsa.pub
    
  • 点击主页GitHub头像->settings->SSH and GPG keys(左侧)->将id_rsa.pub的内容添加进去即可

  • create new repo.

  • 根据提示,选择将已有的仓库与之关联(第二种,第一种笨人也没搞懂是在干嘛)

设置双向仓库 √

如果一切顺利的话...

8.clone

git clone git@github.com:user_name/repository_name.git
#在code -> local中查看

9.branch && switch && merge

git branch <name>
git switch <name>
git switch -c <name> #创建并切换
git merge <name> #合并某个分支到当前分支
git branch -d <name> #删除分支

遇到同一文件在不同分支上被反复提交,注意手动修改

10. --no-ff选项

保留dev指针及其单独指向的文件

git merge --no-ff -m "merge with on-ff" dev

11.bug分支

git stash #暂时移走工作区中不能commit的内容
git switch -c issue-101 #创建分支修bug
git add bug.txt
git commit -m "fix the bug"
git switch main
git merge issue-101
git stash pop #恢复现场

12.branch -D

git branch -D <name> #强行删除未合并的分支

13.合作

git clone git@github.com:user_name/repository_name.git
git checkout -b dev origin/dev
git branch --set-upstream-to=origin/dev dev #将本地分支与远程分支建立联系
git pull #手动合并

14.rebase

变直

15.tag

git tag <tagname> #用于新建一个标签,默认为HEAD,也可以指定一个commit id;
git tag -a <tagname> -m "blablabla..." #可以指定标签信息;
git tag #可以查看所有标签。

git push origin <tagname> #可以推送一个本地标签;
git push origin --tags #可以推送全部未推送过的本地标签;
git tag -d <tagname> #可以删除一个本地标签;
git push origin :refs/tags/<tagname> #可以删除一个远程标签

16.fork

fork -> clone -> pull request(maybe)

git的尽头是SourceTree

移步Sourcetree | Free Git GUI for Mac and Windows

相关文章:

  • 多模态特征提取与融合助力高光谱+LiDAR数据分类性能飞跃
  • C++ Primer 类-定义抽象数据类型
  • Windows 10 ARM工控主板CAN总线实时性能测试
  • Qt MSVC 编译器报错 C1060
  • Git 修改或删除某次提交信息
  • Playwright 自动化测试系统学习
  • vue点击左边导航,右边出现页面步骤
  • 《SpringBoot配置风暴》
  • 【记忆化搜索】猜数字游戏Ⅱ
  • 2025年02月14日Github流行趋势
  • TensorFlow 实现任意风格的快速风格转换
  • cs106x-lecture9(Autumn 2017)-SPL实现
  • PLC的集成RAM,存储器卡,用户程序存储空间,数据存储容量分别指的什么,有什么关联?
  • set的使用(c++)
  • JVM基础---java类加载机制(类的生命周期,类加载器,双亲委派模型)
  • XSS攻击(跨站脚本攻击)详解与实战
  • 零基础入门机器学习 -- 第五章决策树与随机森林
  • BSD协议栈:多播
  • Visual Basic语言的数据类型
  • Logo语言的图形用户界面
  • 特朗普与普京开始进行电话会谈,稍后还将致电泽连斯基
  • 4月22城新房价格上涨:上海一二手房价环比均上涨,核心城市土地热带动市场热度提升
  • 国家统计局:下阶段要继续发挥宏观政策作用,促进价格合理回升
  • 习近平:坚持科学决策民主决策依法决策,高质量完成“十五五”规划编制工作
  • 江南考古文脉探寻
  • 俄乌代表团抵达谈判会场