git笔记

git remote:
  1. git remote 查看当前的远程库
  2. git remote -v 查看远程库详细信息
git pull:
  1. git pull <远程主机名> <远程分支名>:<本地分支名>

    git pull origin next:master

    取回远程主机origin的next分支,与本地的master分支合并,如果远程分支(next)与当前分支合并,则冒号后边的部分可以省略

    git pull origin next

    如果当前分支与远程分支存在追踪关系,git pull可以省略远程分支名

    git pull origin

    如果当前分支只有一个追踪分支,那么主机名都可以省略

    git pull
  2. git pull –rebase

    这里表示把你的本地当前分支里的每个提交(commit)取消掉,并且把它们临时保存为补丁(patch)(这些补丁放到”.git/rebase”目录中),然后把本地当前分支更新为最新的”origin”分支,最后把保存的这些补丁应用到本地当前分支上

    git pull相当于git fetch然后git merge
    git pull使用给定的参数运行git fetch,并调用git merge将检索到的分支头合并到当前分支中。 使用–rebase,它运行git rebase而不是git merge

git push:
  1. git push <远程主机名> <本地分支名>:<远程分支名>

    git push origin master

    上面命令表示:将本地master分支推送到origin主机上的master分支上,如果origin主机上不存在master分支,则会被新建。

    如果省略本地分支名,则表示删除指定的远程分支,因为这等同于推送一个空的本地分支到远程分支

    git push origin:master

    等同于git push origin --delete master

    如果当前分支和远程分支存在追踪关系,则本地分支和远程分支都可以被省略

    git push origin

    如果当前分支只有一个追踪分支,那么主机名都可以省略

    git push
版本回退
  1. 只是修改了工作区的文件,还没有add

    git checkout --<file>    把指定file文件在工作区的修改全部撤销
  2. 已经add了,还没有commit

    git reset HEAD <file>    可以把暂存区的修改撤销掉,重新放回到工作区

    再使用

    git checkout --<file>可以将工作区的修改也丢弃,

    3.已经commit了

    git reset --hard HEAD~1

    HEAD表示当前版本,上一个版本用^ 表示,上上个版本用^^ 表示,上10个版本可以用HEAD~10表示

    使用命令git reset --hard commit_id回到指定版本
    git log查看提交历史,用git reflog查看命令历史,以便确定回到哪个版本

    git reset –hard|soft|mixed|merge|keep 或HEAD
    –hard 例如:

    git reset --hard HEAD~1   

    表示为将版本库回退1个版本,但是不仅仅是将本地版本库的头指针全部重置到指定版本,也会重置暂存区,并且会将工作区代码也回退到这个版本
    例如:

    git reset --hard origin/branch_oversea_wbl7365_wbl7361_t5891_rel_gionee

    –soft 例如:git reset –soft HEAD~1 表示将版本库软回退一个版本,所谓软回退表示将版本库的HEAD指针全部重置到指定版本,且将这次提交之后的所有变更都移动到暂存区

    –mixed 默认参数,例如:git reset HEAD~1 表示将版本库回退一个版本,将版本库的HEAD指针全部重置到指定版本,且将这次提交之后的所有变更都移动到未暂存阶段

    –merge 例如:git reset –merge ORIG_HEAD 表示回退到上一个版本,并且不清除工作区中的内容,比如当你使用git

    pull获取最新更新后后悔了,可以使用这个命令回退到git pull之前的状态。如果使用git reset --hard ORIG_HEAD,这个命令将会清空工作区,丢弃未使用git add的那些修改(关于ORIG_HEAD:Git通过记录HEAD指针的上次所在的位置ORIG_HEAD提供了回退的功能,当你发现某些操作失误了,比如错误的reset到了一个很早很早的版本,可以使用git reset --hard ORIG_HEAD回退到上一次reset之前)

git log:


  1. git log --pretty=oneline //每一行表示一次提交,一行内容包括commitId和commit message
    git log --name-status . //查看当前目录下的log
    git log -p <file> //查看file文件的每一次详细修改
git checkout:

1.

git checkout commitId //切换到指定commitID版本
git checkout commitId filename //切换指定文件到指定commitID版本
git checkout filename //撤销对指定file的修改
git checkout -- . //删除本地修改

2. 基于远程分支创建dev分支:

git checkout -b dev origin/branch

添加远程仓库,建立追踪关系
  1. 与远程仓库建立追踪关系

    git branch --set-upstream dev origin/dev
    git branch --set-upstream-to=origin/dev dev
    git push --set-upstream origin dev //指定本地dev分支与远程origin/dev分支的链接
    git branch --set-upstream master origin/next //指定本地master分支追踪origin/next分支
  2. 添加远程仓库

    git remote add origin git@github.com:mry1/MyNotes.git
    git push -u origin master
  3. 修改远程仓库地址

    git remote set-url origin 新地址

warning: push.default 尚未设置,它的默认值在 Git 2.0 已从 ‘matching’
变更为 ‘simple’。若要不再显示本信息并保持传统习惯,进行如下设置:

git config --global push.default matching

若要不再显示本信息并从现在开始采用新的使用习惯,设置:

git config --global push.default simple

当 push.default 设置为 ‘matching’ 后,git 将推送和远程同名的所有
本地分支。
从 Git 2.0 开始,Git 默认采用更为保守的 ‘simple’ 模式,只推送当前
分支到远程关联的同名分支,即 ‘git push’ 推送当前分支。
参见 ‘git help config’ 并查找 ‘push.default’ 以获取更多信息。

git cherry-pick commitId

将其它分支上的修改合并到当前分支

git status
git status -uno可以只列出所有已经被git管理的且被修改但没提交的文件。
git status -s 
git show commit-ID [file]

显示某一次提交记录中file的详细修改

git blame [file]

可以查询每一行代码的 commit ID、提交者和提交日期。
git blame [commitID] [file]
查询某一次commitID中某文件每一行代码的提交者和提交日期

git diff
git diff 工作区与暂存区的区别
git diff HEAD 工作区与版本库的区别
git diff --cached 暂存区与功版本库的区别
  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值