Git操作

作者: MachaelSui | 来源:发表于2018-09-11 13:25 被阅读0次

    git clone <版本库的网址>

    git clone <版本库的网址> <本地目录名>

    1. 查看用户名和邮箱地址:

    $ git config user.name

    $ git config user.email

    2. 修改用户名和邮箱地址:

    $ git config --global user.name "username"

    $ git config --global user.email "email"

    1、(先进入项目文件夹)通过命令 git init 把这个目录变成git可以管理的仓库

    git init

    2、把文件添加到版本库中,使用命令 git add .添加到暂存区里面去,不要忘记后面的小数点“.”,意为添加文件夹下的所有文件

    git add .

    3、用命令 git commit告诉Git,把文件提交到仓库。引号内为提交说明

    git commit -m 'first commit'

    4、关联到远程库

    git remote add origin 你的远程库地址

    如:

    git remote add origin https://github.com/cade8800/ionic-demo.git

    5、获取远程库与本地同步合并(如果远程库不为空必须做这一步,否则后面的提交会失败)

    git pull --rebase origin master

    6、把本地库的内容推送到远程,使用 git push命令,实际上是把当前分支master推送到远程。执行此命令后会要求输入用户名、密码,验证通过后即开始上传。

    git push -u origin master

    *、状态查询命令

    git status

    .gitignore 体检忽略内容

    使用git pull代码时,经常会碰到有冲突的情况,提示如下信息:

    error: Your local changes to 'c/environ.c' would be overwritten by merge.  Aborting.

    Please, commit your changes or stash them before you can merge.

    这个意思是说更新下来的内容和本地修改的内容有冲突,先提交你的改变或者先将本地修改暂时存储起来。

    处理的方式非常简单,主要是使用git stash命令进行处理,分成以下几个步骤进行处理。

    1、先将本地修改存储起来

    $ git stash

    这样本地的所有修改就都被暂时存储起来 。是用git stash list可以看到保存的信息:

    git stash暂存修改

    其中stash@{0}就是刚才保存的标记。

    2、pull内容

    暂存了本地修改之后,就可以pull了。

    $ git pull

    3、还原暂存的内容

    $ git stash pop stash@{0}

    系统提示如下类似的信息:

    Auto-merging c/environ.c

    CONFLICT (content): Merge conflict in c/environ.c

    意思就是系统自动合并修改的内容,但是其中有冲突,需要解决其中的冲突。

    4、解决文件中冲突的的部分

    打开冲突的文件,会看到类似如下的内容:

    git冲突内容

    其中Updated upstream 和=====之间的内容就是pull下来的内容,====和stashed changes之间的内容就是本地修改的内容。碰到这种情况,git也不知道哪行内容是需要的,所以要自行确定需要的内容。

    解决完成之后,就可以正常的提交了。

    Git status中文转义

    git config --global core.quotepath false

    在 git log 时中文依然不能显示,首先试试用 git --no-pager log 能不能显示中文,如果可以,则设置pager为more:

    git config --global core.pager more

    在git push的时候,有时候我们会想办法撤销git commit的内容 

    1、找到之前提交的git commit的id 

    git log 

    找到想要撤销的id 

    2、git reset –hard id 

    完成撤销,同时将代码恢复到前一commit_id 对应的版本 

    3、git reset id 

    完成Commit命令的撤销,但是不对代码修改进行撤销,可以直接通过git commit 重新提交对本地代码的修改

    git fetch --all //只是下载代码到本地,不进行合并操作

    git reset --hard origin/master  //把HEAD指向最新下载的版本

    12.1 GIT 操作规范:

    1. 从主仓库Fork 一个自己的仓库

    2. Git clone 自己名下的仓库, 就可以开发啦

    3. 提交代码步骤:

    ○ 先 git commit 至本地(请在commit message 中尽量详细地描述本次提交修改的内容,至少说明是对哪一模块哪一功能的什么修改)

    ○ 再 push 至自己名下的仓库(完成后请登进个人仓库页面检查,确保push 成功)

    ○ 成功后提交 pull request, 将自己名下的仓库与主仓库合并(现阶段,提交完合并申请后请自己通过该申请,完成后检查一下主仓库,确保自己的最新代码已经成功合并至主仓库)

    4. 冲突解决: Push 代码之前,先同步远程主仓库与本地代码,再push至自己名下的仓库(注意不能直接往主仓库push),具体操作方式如下:

    ○ git remote add upstream git@github.com:coreos/etcd.git //本地添加远程主分支(将 git@github.com:coreos/etcd.git 替换为主分支的地址),叫upstream。 可以先 git branch -v 查看是否已添加远程分支,若已添加,该步骤略过。

    ○ git fetch upstream // 获取主分支的最新修改到本地

    ○ git merge upstream/master // 将upstream分支修改内容merge到本地个人分支

    git push // 将本地修改提交到fork出来的个人分支 至此,主分支修改的代码完全同步到fork出来的个人分支上,后续在个人分支上修改提交pull request时就不会冲突。完美

    相关文章

      网友评论

          本文标题:Git操作

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