git--从ysyx中吸取经验教训

发布时间 2023-11-12 14:41:43作者: fggggg_fg

起因:

当时是在做ysyx中红白模拟机部分 运行脚本执行不成功

报错 报了两处 一个是断言错误 一个是makefile里的一个image的变量

后面在进行答疑会由同学和助教指出是因为分支的错误 我也从来没想过这个错误

并且过程中debug时候对于git指令显得尤其不熟悉

下面大概总结了比较经典的用法:

1.首先我们一般会从github去克隆库

git clone <url> //一般就是一个仓库的地址
git clone -b <branch> <url> //分支名+地址
git clone -b <branch> <url> <new_name> //在ysyx中的格式 命名为ics2023

2.其次有个我暂时还未使用过的 进行本地仓库初始化的代码

git init <directory> //如果直接git init 会初始化当前目录

3.然后是进行一些配置 以nju的代码为例 配置一些个人信息

git config --global user.name "221220000-Zhang San" # your student ID and name
git config --global user.email "zhangsan@foo.com"   # your email
git config --global core.editor vim                 # your favorite editor
git config --global color.ui true

4.查看分支

git branch

5.创建分支

git branch <branch> //创建一个分支
git checkout -b <branch> //创建一个分支并使用 checkout 命令切换到它

6.切换分支

git checkout <branch>

7.删除分支

git branch -d <branch> 
git branch -D <branch> //强制删除

 8.添加文件到暂存区

git add <file> 
git add . //添加当前目录的所有文件

9.提交更改

git commit
git commit -m "<message>" //提交的说明 需要双引号
git commit -a -m "<message>" //添加对跟踪文件所做的所有更改并提交

10.从暂存区删除一个文件

git reset <file>
git reset 

https://zhuanlan.zhihu.com/p/547821171 这里是有关git reset的具体链接  讲了区别与git checkout 是会把head同时指向选中 不止指针

11.合并分支

git merge <branch to merge into HEAD>

12.查看存储库的状态

git status

13.显示提交历史

git log

14.显示对未暂存文件的更改

git diff

 

默认分支名称:main

默认远程名称:origin