• git常用命令


    回退某个文件到指定版本

    • git log xxx查看你想回退到的commit id
    • git checkout commitid xxx 把xxx回退到commitid这个版本
    • git status此时可以看到文件已经回退并加进了index暂存区

    git pull冲突

    https://blog.csdn.net/lincyang/article/details/21519333
    git pull把代码从远端拉到本地的workspace. 本地的workspace有修改的话就会冲突.
    git stash //将本地workspace改动备份到栈
    git pull
    git stash pop //如果需要的话,再pop出本地改动.

    撤销add

    add的内容进入index(暂存区)
    git rm --cached xxx

    撤销commit

    https://www.cnblogs.com/lfxiao/p/9378763.html
    git reset --soft HEAD~n n代表几次commit
    只会撤销commit 代码仍然会保留.

    add的东西存入暂存区.
    commit的东西存入本地仓库.
    暂时没找到办法只修改本地仓库的内容.分两步:

    1. git reset --soft HEAD~n 取消掉commit,这时候只是本地仓库没有本次commit的内容了
    2. git rm --cached xxx 删除掉暂存区的不想要的文件
    3. git commit 重新commit

    查看某一次commit的文件列表

    git log --name-only

    git 撤回上一次commit中某一个不想添加的文件

    git rm --cached yolov3_trafficlights_320_last.weights

    git submodule

    git演示动画

    对于所有分支而言,工作区和暂存区是公共的!!!!!!!!!.即某个branch做的修改只有commit之后别的branch才看不见.
    比如好多人在同一个设备上做开发,每个人checkout了一个自己的分支.假设有A,B两个branch. A branch对file1做了修改,但是没有commit,这时候checkout到B branch,B branch会看见file1的修改,有没有办法不看A branch的修改,没有!!!!.除非是在B branch先对file1做了修改,并且commit了.那么此时从A branch是没有办法checkout到B branch的.会报错

    error: Your local changes to the following files would be overwritten by checkout:

    总之一句话,不想看到别的branch的修改,这个做不到,除非别的branch主动commit或者是stash。

    原理

    https://git-scm.com/book/zh/v2/Git-工具-重置揭密

    强制更新本地代码与远端一致

    git强制覆盖本地命令(单条执行):
    git fetch --all && git reset --hard origin/master && git pull

    第一个是:拉取所有更新,不同步;
    第二个是:本地代码同步线上最新版本(会覆盖本地所有与远程仓库上同名的文件);
    第三个是:再更新一次(其实也可以不用,第二步命令做过了其实)

    下载整个项目

    git clone xxx

    下载某个分支的某个文件

    git checkout master xxx.cpp

    覆盖本地修改

    比如你改了一个文件xxx.cpp,但是你觉得自己改的不对.想回退到和远程仓库master分支的代码一致.

    • git fetch //拉取最新代码到本地仓库
    • git checkout orgin/master xxx.cpp

    一次性提交多笔修改

    git add --all.index会被更新为和当前磁盘上的work tree一致.

    切换分支

    git checkout -b myownbranch //-b 不存在则创建myownbranch分支

    代码下载下来后,最好不要在原有分支修改.比如你clone了master分支下的代码到本地后

    • git checkout -b [yourbranch]
    • 修改代码,自测
    • git commit -a -m 'my comments' //-a提交所有修改
    • git push //这时候远程仓库会出现分支yourbranch
      在git push之前,所有的修改都是本地的.
    • 在网页端提交merge请求,进行了代码review后,把yourbranch的合入master分支.

    提交本地修改到远程主机

    git push <远程主机名> <本地分支名>:<远程分支名>
    例如:
    git push origin master:master
    git push origin :master //推送空分支到远程仓库的master分支,相当于删除远程仓库的master分支.

    查看当前代码与远程仓库代码差异

    git diff --cached

    查看当前的git状态

    git status
    会显示当前未提交的修改有哪些.

    修改文件并提交

    修改了代码xxx.cpp yyy.cpp
    直接git commit -a -m 'your comments'//-a提交所有的修改
    或者
    git add xxx.cpp
    git commit xxx.cpp -m 'your comments1'
    git add yyy.cpp
    git commit yyy.cpp -m 'your comments2'

    新增文件的提交

    改完代码直接git commit -a的话是不会把新增的文件也commit的.要先git add.
    git add xxx.cpp

    查看当前的工作分支

    git branch
    带*号的就是当前工作分支

    git branch -a 显示所有分支,包括远程仓库的

    查看远程仓库

    git remote -v
    显示远程仓库名.默认是origin

    查看提交日志

    git log

    git show [id]

    git log filename
    git show id filename
    查看某一个文件的具体提交记录

    合并多笔提交

    git format-patch [commitkey]
    git am
    patch -p1 < 0002-add-install.sh.patch
    git am --amend

    撤销修改

    https://blog.csdn.net/YoungStunner/article/details/78696763

    • 已修改,未暂存:git checkout . (git checkout )已暂存
    • 未提交: git reset (git reset --hard 会覆盖)已提交
    • 未推送: git reset --hard origin/master (远程仓库覆盖本地仓库)
    • 已推送: git reset --hard (如果要覆盖远程必须强制推 git push -f)

    回退某个文件修改

    https://blog.csdn.net/u011008029/article/details/52351141

    • git reset [id] filename
    • git commit -m "回退"
    • git checkout filename
    • git push

    查看已经commit但是尚未push的提交

    git cherry -v
    会给出id
    git show id查看具体修改

    在clone前查看项目大小

    https://www.jianshu.com/p/fabe65bdefb0

    比如

  • 相关阅读:
    Ext.FormPanel-----FieldSet的用法
    DAO层,Service层,Controller层、View层
    PageProxy分页的实现
    Layout布局(补充)
    Ext--Layout(布局)
    DirectEvents用法
    Linq的使用
    字符串注入攻击
    winform(C#)里弹出“确定”“取消”对话框
    C#的数组
  • 原文地址:https://www.cnblogs.com/sdu20112013/p/10918327.html
Copyright © 2020-2023  润新知