送给小白的一篇GIT操作实战:从安装到操作

本教程比较适合折腾了一会儿还比较混乱的小白。基本满足工作日常需求,解决工作中常见的痛点。

开始
  • 首先我们需要去github官网申请git账号。git官网

  • 申请之后,我们进入自己的linux服务器

  • 安装git

   yum install -y git

   git --version
  • 配置 ssh-keygen
    // 生成key
    ssh-keygen
    //查看公钥  
    cat ~/.ssh/id_rsa.pub
  • 然后在GitHub上加入这个公钥 配置公钥

送给小白的一篇GIT操作实战:从安装到操作_第1张图片

  • 设置git命令的简写模式(alias)
    git config --global alias.co checkout
    git config --global alias.br branch
    git config --global alias.ci commit
    git config --global alias.st status
  • 设置自己的名字和邮箱
    git config --global user.name "your name"
    git config --global user.email "your email @.com"
  • fork

如果你想使用别人的项目,就需要fork。
github-fork

  • 一般我们参与公司项目,都会先fork公司的仓库。
  • clone

进入一个你想存放项目的文件夹。
送给小白的一篇GIT操作实战:从安装到操作_第2张图片

如图复制ssh地址。

  • 一般我们复制的这个ssh地址,是先fork了公司的仓库,然后回到自己的仓库下面复制自己的ssh。
    git clone [email protected]:xxx/xxx.git

然后就可以对代码进行修改和提交了。

  • checkout

项目有不同的分支。
一般本地主分支为master。
自己的远程仓库为 origin
如果是公司的项目,可能还会添加一个公司仓库 gongsi

可以用以下命令查看。

    git br -va

一般我们都master分支上。

那么当我们修改了master分支的文件,但是又想恢复它到我们修改之前的状态,就需要checkout

    git co xxx.html

checkout也可以创建本地分支:

origin/develop为远程仓库origin里面的一条分支,

我们要在本地创建一条和它一样的分支。

    git co -b develop origin/develop

另一种情况 本地和远程都只有master分支,

我们要在master的基础上添加订制功能,

需要独立出来一条和master一样的分支,然后再修改。

    git co -b develop origin/master

    # 增加完新功能之后

    git push origin develop

这样就会在本地和远程origin都创建了一条develop分支完成定制功能的添加又不影响原来的master分支。

  • add

当我们修改某个文件,使用git st就可以看到哪些文件被修改了。
然后使用 git add 可以将我们修改过的文件添加进暂存区

    git st

    git add xxx.html
    

add 扩展

    git add -A 新增(new),修改(modified),删除(deleted)的文件

    git add -u 修改(modified),删除(deleted)的文件 

    git add . 新增(new),修改(modified)的文件
  • commit

commit为某次修改的描述,是阶段性的。
我们每完成一个功能,或者每修复一个bug,最好都进行一次提交。

    git ci -m '描述'

最后将代码push到我们的远程分支

    git push origin master(分支名)
  • reset

有时候我们会后悔添加了文件。那么可以用reset 返回

    git reset xxx.html

这样就可以返回add之前的文件状态。

同样的我们如果已经push到远程分支了

想要回到我们push之前的状态,或者再之前的某个版本。

    // 使用
    git log // 获取所有commit的版本信息
    // 或者
    git reflog //获取所有分支的操作的版本号,包括删除的。
    
    git reset --hard 版本号

以上两个步骤,第一步是查看我们这个分支的所有版本号。

复制你想要回退的版本号,然后执行第二步,就会回退到目标版本了。

然后再次执行你想要add,ci,push等命令,将你想要提交的文件push到远程。

  • fetch/merge

push之后我们的远程分支就会和本地分支的内容一样了。

但是如果我们是一个公共项目,那就需要并入公共仓库(gongsi)。

这个就需要管理员来操作了。

送给小白的一篇GIT操作实战:从安装到操作_第3张图片

送给小白的一篇GIT操作实战:从安装到操作_第4张图片

等管理员合并了之后,别人就需要fetch并且merge你的代码,以此来使大家的代码都是同步的。

    git fetch --all

    git merge gongsi/master

每次push之前我们都应该先merge一下公共仓库的代码。
以免我们在旧代码上修改提交导致冲突。

  • delete

那么我们如何删除自己的本地分支和远程分支呢,拿new_master举例

    git br -d new_master
    git push origin -d new_master
  • remote

当我们从某个git地址clone下来仓库后,仓库的远程地址就是你所clone的地址。

此时如果我们想修改我们的远程仓库怎么办呢(也就是修改origin的远程地址)

那就用到remote了

首先查看远程地址:

    git remote -v

然后修改远程地址

    git remote set-url [仓库名称] [url]
    
    # 例如:修改origin这个仓库的远程地址。
    # git remote set-url origin [email protected]:xiaoming/project.git

那么如果要新添加一个远程地址呢?比如我们添加公司的(或者其他任何)。

    git remote add [自定义远程仓库名] [url]

    # 例如:
    # git remote add gongsi [email protected]:gongsi/project.git

添加完公司的仓库之后,我们远程公司的仓库有了,但是本地还没有,怎么办呢,就用到前面的checkout了。

    git co -b [创建本地分支名] [远程仓库名/远程仓库分支名]

    # 例如:创建一个本地分支 develop 该分支的内容和gongsi/develop分支的内容一致。
    # git co -b develop gongsi/develop

推送到自己的远程分支。
如果我们的origin上没有 develop 分支,那就会自动创建一个。

这样就保持三个分支一致了。

    git push origin develop

  • stash

有的时候,我们正在修改master分支。突然有一个紧急需求需要在develop上修改。

但是master还没有修改完,我们不能切换分支。

那怎么办呢?我们可以使用stash。

    git stash

    git co develop
    
    // 一通修改 git add, git ci, git push
    
    git co master

    git stash pop

以上三个步骤

第一步 将我们修改的内容缓存起来

第二步 切换到develop 分支,然后修改提交之后

第三步 切换到master分支

第四步 恢复切换到develop之前的master分支的修改内容。

  • mv

git mv 是移动的意思,就是把文件或者目录移动到目标目录下。
比如:

D:/app

app.js js/

//假如D:/app目录下有app.js 和js 文件夹,如果我们想把app.js 移动到 js文件夹下。

    git mv app.js js/

这样就可以把文件app.js 移动到 js文件夹下。同样接下来add,ci,push 将其提交到远程。

以上就是常用的git命令,当然还有更多的和更深的命令,可以扩展了解一下。

另外我们装完git如果颜色都是白色的,会感觉不太容易区分。可以配置下颜色

    git config --global color.status auto
    git config --global color.diff auto
    git config --global color.branch auto
    git config --global color.interactive auto

你可能感兴趣的:(工具)