1. 状态类指令
git branch
: 查看当前本地所处的 branch、本地中拉的所有的branchgit branch -r
: 查看远程所有的分支git status
orgit st
: 当前所处 branch、是否有需要 commit 的git log
: 查看当前 branch 的所有提交记录git log --oneline
: 查看当前 branch 的所有提交记录,每行只显示 commit id 和 commit message- 先 cd
到某一个子目录下查看该目录的提交记录,如
cd kernel/drivers/
再执行git log --oneline
- 也可以 cd
到某个目录下查看某个具体文件的提交记录,如
cd kernel/drivers/
再执行git log -p -- ./pci/pci-acpi.c
- 先 cd
到某一个子目录下查看该目录的提交记录,如
git show -1
: 查看当前 branch 的最新一次提交记录
git mm 特有的指令:
git mm sync -j64
: 64线程同步远程代码
2. 代码提交、合并、push到远程仓库
1)代码提交:暂时不推到远程仓中
1 | git add . # 添加所有文件 |
2)拉取代码
3. 切换分支
切换前最好先暂存一下当前的代码修改内容:
1 | 暂存当前修改,需要切到修改的子仓库下 |
然后再切换到分支中:
1 | git checkout old_branch # 切换到旧分支old_branch中 |
后面有需要的话还要恢复到暂存状态(恢复暂存代码):
1 | 恢复特定的 stash (例如:stash@{2}) |
修改完代码也可以取消修改:
1 | git restore ./* # 取消当前目录下所有修改 |
4. diff 查看修改内容
git diff <filrname.c>
git status
5. 撤销修改
git stash -m "message"
: 会暂存修改并恢复到未修改状态git restore .
: 取消当前目录下所有修改,且不会暂存
6. 在一个已有内容的文件夹下将该内容同步到新的仓库中
1 | git init # 初始化一个git仓库 |
如果原先没有关联过其他仓库,那么还得进行一些分支的操作,如果之前已经有分支,那么可以直接push
到新仓库中
1 | branch --set-upstream-to=origin/master master # 设置当前分支的远程分支 |
然后就可以观察远程仓库上是不是已经被 push 上去了