git常用命令

215 阅读3分钟

好久没有写文啦~凡事重在坚持!赶紧写起来~

最近用git指令比较多,之前对git指令比较模糊,借此机会,总结一下git常用命令。尽量覆盖全面,不太常用的指令会以参考链接的形式给出~

一图解所有

借用大神一张图来说明:

  • 首先我们弄清楚几个概念:

    • workspace:工作区,也就是我们写代码的地方,它持有实际的文件;

    • index:也可以叫做stage,暂存区,它实际上就是一个包含文件索引的目录树 ,当对工作区修改(或新增)的文件执行 "git add" 命令时,暂存区的目录树被更新。

    • local repository:本地仓库,我们使用“git commit”时,实际是把代码提交到了本地仓库;

    • remote repository:远端仓库,当我们使用“git push”时,才将我们的本地代码提交到了远端的仓库,比如github上。

  • 什么是origin?

    • 远程库的名字就是origin,这是Git默认的叫法,也可以改成别的。

git 常用命令

检出仓库:

  • 本地仓库的克隆版本:git clone /path/to/repository

  • 克隆远端服务器仓库:git clone username@host:/path/to/repository;

将本地仓库关联到远程仓库

  • 比如要加入远程仓库的名字为 learngit:git remote add origin 邮箱:用户名/learngit.git

添加与提交

  • 添加到缓存区:git add <filename>

  • 提交到本地仓库:git commit -m "代码提交信息"

推送改动

  • 比如要提交到master:git push origin master

  • 如果你还没有克隆现有仓库,并欲将你的仓库连接到某个远程服务器,你可以使用如下命令添加: git remote add origin <server>

分支

  • 创建仓库的时候,

    master
    是“默认的”。在其他分支上进行开发,完成后再将它们合并到主分支上。

  • 创建一个feature_x分支,并且切换到feature_x分支上:git checkout -b feature_x

  • 删除分支:git branch -d feature_x;

  • 将分支推送到远端仓库:`git push origin <branch> `;

替换本地改动

  • 使用如下命令替换掉本地改动,:git checkout -- <filename>;此命令会使用 HEAD 中的最新内容替换掉你的工作目录中的文件。已添加到缓存区的改动,以及新文件,都不受影响。

  • 丢弃你所有的本地改动与提交,可以到服务器上获取最新的版本并将你本地主分支指向到它:git reset --hard origin/master

git协同开发常用命令

  • 显示所有远程连接的库:git remote;

  • 创建url远程库的链接,之后可以用<name>来代表<url>:git remote add <name> <url>;

    • 这里用到的url链接可以时ssh链接也可以是时http链接。http链接允许对库进行匿名但只读的访问,在这种状态下时不可能把commit推送到中央库的(比如http://host/path/to/repo.git,无用户名匿名访问)。而使用ssh链接的时候是可读写的,但是不允许匿名(比如ssh://user@host/path/to/repo.git)。

  • 把远程库的commit输入到本地仓库:git fetch;

  • 查看远程分支:git branch -r;

  • 合并本地与远程分支,如果有冲突要手动修改:git merge origin/<current-branch>;

  • git fetch和git merge合并在一起的快捷方式:git pull <remote>;

参考链接

git简易指南:www.bootcss.com/p/git-guide/

git协同开发:www.cnblogs.com/arkenstone/…

github文章借鉴:github.com/WarpPrism/B…

gitbook:gitbook.liuhui998.com/index.html

Last

欢迎大家关注公粽号:CSandCatti

日常推送英语精读,算法题,前端知识~