git更新代码及相关操作

    xiaoxiao2025-01-15  14

    git更新代码

    克隆自己仓库的代码如果已经克隆则增加远程原始主库分支到本地

    仓库地址: git remote add raid_master git@xxx.git git remote add xxx_master ssh://git@xxx.git

    如果已增加远程分支,直接fetch原始分支

    git fetch xxx_master

    合并两个版本

    git merge xxx_master/master

    提交自己代码

    git push origin master

    每次同步都从第三步开始就可以了

    git push命令

    git push命令用于将本地分支的更新,推送到远程主机。它的格式与git pull命令相仿。

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

    注意,分支推送顺序的写法是<来源地>:<目的地>,所以git pull是<远程分支>:<本地分支>,而git push是<本地分支>:<远程分支>。

    如果省略远程分支名,则表示将本地分支推送与之存在”追踪关系”的远程分支(通常两者同名),如果该远程分支不存在,则会被新建。

    $ git push origin master

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

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

    $ git push origin :master

    等同于

    $ git push origin --delete master

    上面命令表示删除origin主机的master分

    强制推送分支到远程

    git push –f

    #Git撤销工作区的所有修改并删除暂存区文件

    git reset --hard HEAD : 将stage area中未提交的file回滚到之前的commit状态

    git clean -d -f 删除未跟踪的目录和文件

    仅仅删除暂存区里的文件

    git rm --cache 文件名

    删除暂存区和工作区的文件

    git rm -f 文件名

    删除错误提交的commit

    //仅仅只是撤销已提交的版本库,不会修改暂存区和工作区

    git reset --soft 版本库ID

    //仅仅只是撤销已提交的版本库和暂存区,不会修改工作区

    git reset --mixed 版本库ID

    //彻底将工作区、暂存区和版本库记录恢复到指定的版本库

    git reset --hard 版本库ID

    git分支创建

    添加远程库

    git remote add xxx ssh://git@xxx.git

    创建并切换分支

    git checkout -b xxx origin/xxx

    git clone非master分支代码

    执行 git clone -b dev <仓库地址>

    Git diff 用法

    用于比较两次修改的差异

    比较工作区与暂存区

    git diff 不加参数即默认比较工作区与暂存区

    比较暂存区与最新本地版本库(本地库中最近一次commit的内容)

    git diff --cached [ …]

    比较工作区与最新本地版本库

    git diff HEAD [ …] 如果HEAD指向的是master分支,那么HEAD还可以换成master

    比较工作区与指定commit-id的差异

    git diff commit-id [ …]

    比较暂存区与指定commit-id的差异

    git diff --cached [] [ …]

    比较两个commit-id之间的差异

    git diff [] []

    使用git diff打补丁

    git diff > patch //patch的命名是随意的,不加其他参数时作用是当我们希望将我们本仓库工作区的修改拷贝一份到其他机器上使用,但是修改的文件比较多,拷贝量比较大,此时我们可以将修改的代码做成补丁,之后在其他机器上对应目录下使用 git apply patch 将补丁打上即可 git diff --cached > patch //是将我们暂存区与版本库的差异做成补丁 git diff --HEAD > patch //是将工作区与版本库的差异做成补丁 git diff Testfile > patch//将单个文件做成一个单独的补丁

    拓展:git apply patch 应用补丁,应用补丁之前我们可以先检验一下补丁能否应用,git apply --check patch 如果没有任何输出,那么表示可以顺利接受这个补丁另外可以使用git apply --reject patch将能打的补丁先打上,有冲突的会生成.rej文件,此时可以找到这些文件进行手动打补丁
    最新回复(0)