乐趣区

关于git:常见git命令

前言

实习六个月了,总结了一些罕用的 github 命令:
咱们公司用的办法是先把公司库 Fork 下来,在本人的本地库批改之后 push 到本人的近程库上,而后提交 PR,他人通过之后就合并了。而且个别不必 merge,而用 rebase 使 git 树看起来是一条直线(我虽肤浅又很通透的意识),开发代码用的是 VSCode,这下面也有治理 git 的工具(这个在公司电脑上很好用,but not mine)

参考

  • 应用 SSH 连贯到 GitHub
  • github—- 向开源框架提交 pr 的过程

这些博客真的帮忙了我很多很多,非常感谢博主们。

流程:

  • 申请账号,增加公钥。咱们公司用的是 ssh,这个申请权限应用 SSH 连贯到 GitHub。工夫长了,这里就不都赘述了(其实我忘了)。
  • 具体过程:fork -> clone -> 创立分支 -> 批改代码 -> 提交 -> 提交 PR

能够参见 github—- 向开源框架提交 pr 的过程

我罕用的几个命令

  • git add .
  • git commit
  • git status
  • git fetch upstream
  • git rebase upstream master
  • git push origin master -f
  • git rebase -i HEAD~n
  • git reset
  • git checkout -b branchName
  • git branch -d branchName

不罕用的几个命令

  • git diff 参见 Diff 命令

VScode 自带的或者能够下载的工具

以下操作是没有通过 fork 的,且在 master 分支下间接操作的流程。如果想切换分支的话,能够执行:git checkout -b checkName
PS:最开始我都在在 master 分支下执行的,起初须要 PR 的多了,就缓缓应用了分支这种形式。切实是太不便了。而且 VScode 自带工具也很不便操作

进入正题

git add

把更改的文件从工作区 workspace 增加到暂存区 stash 外面,commit 前的必须工作。git diff 命令能够查看两者的区别(我不罕用)
git add .:把所有更改的文件增加到 stage 外面
git add fileName

git commit

把缓存区里的文件增加到版本库中,git diff head 能够查看两者区别,最好是 git commit -m “commit 信息 ”,如果间接 git commit 可能会出错,另外 commit message 标准


接着我执行了 git add. 把剩下两个文件一起提交。
执行 git log 查看提交记录

连贯到近程库

git remote - v 能够看到连贯的是哪个近程库

git push

git push origin master // 把本人的提交 commit 提交到本人的近程库的 master 分支下。master 也能够换成其余分支名
接下来就能够提交 PR 了

git rebase

罕用在
1. 屡次提交代码,但最初只保留一个 commit 的。参考 rabase 合并多个 commit
2. 提交 pr 前整顿 git 树。每次提交前都须要保障 rebase upstream/master 之后(把近程库的跟本人的合并)没有抵触,但其实这个合并不同于 merge,rebase 相似于把本人的分支间接接到近程 master 之后,这样整个提交树保障是个直线。
我在 1.txt 中做了批改:能够通过下图的形式 commit

如果想合并几个 commit,如第二次提交和第一次批改合并,能够执行
git rebase -i HEAD~2

退出移动版