git使用

以这个仓库为例,可以看到现在已经写了一部分了

img

命令行

  • git status: 查看还有哪些没有提交
    • img
  • git add --all: 保持所有文件的改动
  • git commit -m "对改动描述": 提交改动
  • git remote XXX:添加远程仓库
  • git push AAA BBB: 把改动提交到远程仓库(GitHub)
    • AAA表示是哪一个远程仓库,一般是 origin
    • BBB 表示本地的分支,一般是当前的分支(main)
  • git log: git 提交记录
    • img
  • git branch XXX: 创建分支
    • 在两个分支上做不同的事情
    • 比如说在 main 分支上维护稳定的,在 test 分支执行测试
  • git merge XXX: 将别的分支的改动搬回到当前分支,不认识test测试完毕,改回main

其他命令补充

临时保存文件

当你保存了某个文件,需要切换分支,但是不想提交

git stash save "xxx"

日志单行流程图

git log --oneline --graph

img

取消追踪某个文件

不小心commit了一个不需要的文件

git rm --cached filename

提交但是记录到上一次提交

git commit --amend

提交特定一次修改

git cherry-pick commit-id

文件快照打包

git archive -o filename.zip master

图形化

Visual studio

改动操作

img

分支操作

img

Vscode

img

更多操作可以在这里看

img

GitHub使用

准备

现有一仓库:bustub

img

fork

另一用户点击 fork 会将仓库克隆到自己名下

img

现在做一些改动

img

提PR

现在要告诉作者

  1. 点击contribute
    1. img
  2. 点击Open pull request(PR)
  3. 提交,最好描述一下你干了什么
    1. img

这个页面可以看到PR信息

img

处理PR

回到作者的仓库,作者会看到一个PR

img

img

作者可以选择接受或者拒绝PR

img

作者的仓库也改动了

img

GitHub团队协作

私有的仓库里可以在设置里添加成员

img

Accept

img

You now have push access to the hyperv0id/group-project repository.

成员的更改会立刻同步到主仓库!!!

要取消需要单独设置

最佳方案是使用fork,让仓库管理员负责(背锅)

其他

Git 代理

git 中文支持