解决拒绝合并无关文件异常

仅发生在 git 本地仓库领先于远程仓库时

1
$ git pull origin master --allow-unrelated-histories

解决中文乱码

1
$ git config --global core.quotepath false

添加远程仓库与推送

添加远程仓库

1
$ git remote add $NAME $address

拉取代码

1
$ git pull $NAME $BRANCH

推送代码

1
$ git push $NAME $BRANCH

查看 remote url

1
$ git remote -v

拉取远程分支并在本地建立对应分支

查看远程分支

1
$ git branch -r

方法一

将会在本地新建分支,并自动切换到该分支

1
$ git checkout -b 本地分支名 origin/远程分支名

方法二

将会在本地新建分支x,但不会自动切换到该分支
采用此种方法建立的本地分支将不会和远程分支建立映射关系

1
$ git fetch origin 远程分支名:本地分支名

分支

合并上游的变更到本地

1
git pull origin master

切换分支

1
git checkout dev

合并其他分支变更到当前分支

1
git merge dev

Tag

查看所有的Tag

1
git tag

新建tag

1
git tag V1.0 -m 'tag注释'

切换到tag

该 tag 上产生的任何变更,都不会在切换分支或 tag 时保存

1
git checkout tag

从 tag 派生新分支

1
2
git checkout tag 
git checkout -b branchname

推送单个tag

1
git push origin tagname

推送所有tag

1
git push [origin] --tags

免密码登录与推送

方法一

默认记住15分钟

1
git config--global credential.helper cache

配置记住密码的时间

配置一个小时之后失效

1
git config credential.helper cache --timeout=3600

方法二

将会长期记录密码

1
git config --global credential.helper store

方法三

增加远程地址的时候带上密码即可

1
http://yourname:password@github.com/name/project.git

方法三

使用ssh协议进行操作

修改最后一次提交

修改后,:wp 保存即可

1
git commit -ament

修改最近几次历史提交

git log查看需要修改的是第几条,git rebase操作符进行修改

  • 修改最近的第2条

    1
    git rebase -i HEAD~2
  • 从 pick 改成 edit

    1
    git commit --ament
  • 保存到 rebase 里

    1
    git rebase --continue
  • 强制推送覆盖服务器端历史

    1
    git push origin master -f

修改最后一次提交

修改后,:wp 保存即可

1
git commit -ament

修改最近几次历史提交

git log查看需要修改的是第几条,git rebase操作符进行修改

  • 修改最近的第2条

    1
    git rebase -i HEAD~2
  • 从 pick 改成 edit

    1
    git commit --ament
  • 保存到 rebase 里

    1
    git rebase --continue
  • 强制推送覆盖服务器端历史

    1
    git push origin master -f