• git status: 查看当前工作区修改状态
  • git add: 添加到暂存区
  • git commit -m “…”: 将暂存区内容添加到仓库
  • git diff + 文件名: 查看当前文件和上次提交文件的不同
  • git log: 查看提交历史
  • git reflog: 查看命令历史,来确定要回到未来某个版本
  • git reset —hard commit_id: 回退到某个版本,commit_id可以通过git log或git reflog查看。回退之后也可以使用这个命令回到未来的版本。
  • git reset —hard HEAD^: 表示回退到上一个版本,一个^表示上一个.如果是HEAD^^则是上上个版本。用HEAD~100表示上一百个版本。
  • git checkout — file: 回退到上一次提交的版本(如果用了add就是在暂存区的内容,如果没用就是仓库中的内容)。file是文件名。
  • git rm: 将删除文件的命令提交到暂存区。当然如果在工作区删除了文件的话使用git add也是可以的。

远程仓库:

  • git remote add origin git@github.com:xinhecuican/learngit.git: 其中xinhecuican是用户名,learngit是仓库名, origin是远程仓库名(在本地仓库中认为的),这个指令用来将远程仓库和本地仓库进行连接。
  • git push -u origin master: 将本地的master分支提交到远程仓库,第一次需要使用-u表示将本地master分支和远程master分支连接起来,之后就不需要-u了。
  • git remote rm + 名字: 删除远程仓库与本地的连接,可以通过-v查看当前的连接
  • git clone + 远程仓库名: 例如:git clone git@github.com:xinhecuican/gitskills.git,也可以直接输入url

分支:

我们创建并切换到这个分支之后,之后的提交都是提交到这个分支上了(HEAD指针指向该分支,原分支有一个分支指针指向分支的最新提交)。如果要合并就是将原分支指针指向当前分支最新提交。

如果两个分支都有修改那么就无法合并,需要手动将一个分支的内容变成和另外一个相同才可以合并。

  • git branch + 名字: 创建某一分支。
  • git checkout + 名字: 切换到某一分支
  • git checkout -b + 名字: 创建并切换
  • git branch: 查看当前分支
  • git switch -c + 分支名: 切换到某一分支
  • git switch master: 切换到主分支
  • git log —graph: 查看分支合并图
  • git merge -m “…” + 分支名: 将当前分支和分支名对应的分支合并,如果使用--no-ff参数表示删除分支后不要丢弃该分支信息
  • git pull: 将最新的提交抓取下来,因为如果是多人协作的话可能master分支已经有其他人先合并了,这时本地的master内容不是最新的,可能会产生冲突,因此先要pull下来合并后再提交
  • git branch —set-upstream-to=origin/dev dev: 将远程仓库dev分支与本地dev分支建立连接,如果没有建立可能无法git pull