Git 常用命令小记

作者: andyMe | 来源:发表于2016-12-10 17:04 被阅读178次
    git

    前言

    刚开始接触Git的时候,网上会搜索到很多的资料,但是我经常会在这里找一个命令,还有可能在另一个地方再去找一个命令的使用。而且平时开发过程中用到的命令可能下次再想使用就忘记了,放在磁盘里又容易丢,所以干脆一不做二不休,好记性不如烂笔头,收集了平时开发过程中常用到的一些命令记录下来。ps:若有错误的地方或者更好的方式欢迎指出,大家一起学习(持续更新)。

    git和github

    先来说说git个github吧
    git是一款免费、开源的分布式版本控制系统。而Github应该说是一家公司,主要提供基于git的版本托管的服务,GitHub 上托管的项目的代码是基于 Git 来进行版本控制的,所以 Git是 GitHub 上用来管理项目的一个工具。所以,使用git进行版本控制的两个前提是需要下载git:git下载地址 以及注册github账号:github官网 。当然,只要有git,我们也可以将代码上传至coding.net或者公司内部服务器上面。这个后面再说。

    git的使用

    首先要初始化git 使用 git init

    之后在本地版本库中会成成.git文件夹(注意此文件夹是隐藏文件,如果看不到也没关系,只要成功初始化就行)

    git的基本命令

    git clonegit clone 远程仓库地址,将远程分之克隆到本地,进行开发

    git add 用于把我们要提交的文件的信息添加到索引库中

    git commit 提交当前工作空间的修改内容

    git push 将要提交的内容提交到远程仓库

    git pull取回远程主机某一个分支上的更新,然后与本地的指定分支合并,如有冲突 ,则需要进行merge操作

    git fetch 取回更新,不merge

    git pull和git fetch的区别

    git pull

    git pull origin master 从远程获取最新版本并merge到本地

    git fetch

    git fetch origin master 从远程的origin的master主分支下载最新的版本到origin/master分支上

    git log -p master..origin/master 查看更新

    git merge origin/master 合并分之

    git pull相比git fetch更安全一些。因为在merge前,我们可以查看更新情况,然后再决定是否合并

    使用submodule管理项目

    添加

    使用 git submodule add 仓库地址 路径

    删除

    首先在项目根目录下的“.gitmodules”文件中删除相应配置信息。然后,执行git rm –cached命令将子模块所在的文件从git中删除。

    更新

    使用 git clone克隆下来的时候,submodule里面的内容不会更新下来。这个时候使用git submodule update --init --recursive命令 就可以将submodule里面的内容下载下来

    使用git免输密码

    在 C:\Documents and Settings\Administrator 下建立文件 .git-credentials,输入以下内容:https://{username}:{password}@github.com,然后输入git config --global credential.helper store

    git修改远程仓库地址

    直接修改

    git remote origin set-url [url]

    先删后加

    git remote rm origin

    git remote add origin

    git一次将子目录代码pull下来

    git submodule foreach git pull origin master

    git添加远程仓库

    git remote add origin [remote url]

    git push 时提示:无法推送一些引用到 >git@github.com:GarfieldEr007/XXXX.git'

    git fetch origin 然后再使用git push

    Git忽略规则及.gitignore规则不生效的解决办法

    有时候在项目开发过程中突然想修改.gitignore文件的时候,删除之后新增一个.gitignore可能没有效果,这个时候是因为本地仓库中还有缓存,所以要先清除缓存,使用下面三个命令即可。

    git rm -r --cached .
    git add .
    git commit -m 'update .gitignore'

    github提交merge请求

    fork别人项目之后,修改过 有时候可能会提出merge请求,这个时候使用下面的命令:
    git remote upstream 别人url

    git fetch upstream

    git checkout master

    git merge upstream/master

    git修改commit信息

    git commit --amend

    git分支的使用

    当我们的项目已经完成,并且上线的时候,这个时候我们在这个版本的基础上面进行修改,准备下一次的发版,这个时候突然说上一版本有bug,需要紧急修复,这就尴尬了,第二版开发到一半,这个可咋办,这时候就要用到分支了.
    在1.0版本完成的时候新建一个分之version1.0,然后切换到master分之继续开发,遇到需要紧急修复的问题只要切换到version1.0分之进行修改,同时可以将修改的内容合并到master分之上面。
    查看分之git branch
    新建分之git branch version1.0
    切换分之到version1.0git checkout version1.0
    之后就可以在version1.0上修改代码
    推到远程分之git push origin version1.0
    合并分之:
    先切换到主分之git checkout master
    合并分之git merge version1.0记得解决冲突
    删除分之git branch -D version1.0

    未完待续......

    后记

    这些都是本人在平时开发过程中记录的,记录起来,以便使用的时候查询。借鉴了很多资料,另外,由于本人水平有限,所以难免会有纰漏之处,如若发现,请告知,在此不胜感激。

    相关文章

      网友评论

        本文标题:Git 常用命令小记

        本文链接:https://www.haomeiwen.com/subject/inkumttx.html