Git使用
distributed versoin control system(分布式版本控制系统)
1 初始化
1.1.1 配置
| git config --global user.name "yuyg" | 
| git status # To see what needs to be added or committed. | 


聊下git pull --rebase - 王清培 - 博客园 (cnblogs.com)
| git init 初始化 | 


文件回退
| git checkout aa60287c2f031974fb034290bfa3c2f24823f9cb -f lab1/Collatz.java | 
1.2 版本回退
| git reset --hard HEAD^ 回退到上个版本 | 
1.3 远程仓库
| git remote add [shortname] [url] | 
1.4 git push
git push 命令 | 菜鸟教程 (runoob.com)
git push 命用于从将本地的分支版本上传到远程并合并。
命令格式如下:
| git push <远程主机名> <本地分支名>:<远程分支名> | 
如果本地分支名与远程分支名相同,则可以省略冒号:
| git push <远程主机名> <本地分支名> | 
- 
git push origin master:refs/for/master 
 即是将本地的master分支推送到远程主机origin上的对应master分支, origin 是远程主机名 第一个master是本地分支名,第二个master是远程分支名。
- 
git push origin master 
 如果远程分支被省略,如上则表示将本地分支推送到与之存在追踪关系的远程分支(通常两者同名),如果该远程分支不存在,则会被新建
- 
git push origin :refs/for/master 
 如果省略本地分支名,则表示删除指定的远程分支,因为这等同于推送一个空的本地分支到远程分支,等同于 git push origin --delete master
- 
克隆GitHub的仓库到本地 git clone + 仓库地址
- 
查看本地仓库关联的远程仓库信息 git remote -v
- 
查看分支 git branch
- 
创建分支 git branch+分支名
- 
设置别名 git config --global alias.br branchcat -n ~/.gitconfig
1.5 git branch
Git branch命令的用法总结 | 精彩每一天 (hangdaowangluo.com)
- 
git branch -a 查看所有分支 
- 
git branch 分支名 仅创建分支 
- 
git checkout 分支名 切换分支 

pulling and collaborating with other people


2 git reset
git add撤销
git reset:用于将当前HEAD复位到指定状态。一般用于撤消之前的一些操作(如:git add,git commit等)。
[如何在 Git 中取消暂存文件? - 知乎 (zhihu.com)](https://zhuanlan.zhihu.com/p/638297266#:~:text=git restore --staged <文件名>,替换 <文件名> 为要取消暂存的文件名。 执行该命令后,Git将会将文件从暂存区移除,但保留对文件的修改。)
3 detached游离节点提交
Git —游离状态下的commit 分支切换与找回_git 代码提交到了游离分支怎么挽回-CSDN博客
git branch callback commit_id   //利用commit_id创建新分支
git checkout dev
git merge callback
git push
git branch -d callback    //删除分支
4 branch
删除分支:git branch -d [branch name]