• git常用命令集合


    1. 切换分支   git checkout 分支名

    2. 创建并切换到新分支             git checkout -b 分支名

    3. 查看本地和远程所有分支             git branch -a

    4. 查看本地分支或远程分支             git branch         git branch -r

    5. 直接新建本地分支,将远程分支提取出来          git checkout -b local_branch origin/local_branch

    6. 本地分支改名          git branch -m 原名 更改的名

    7. 合并远程master分支到当前分支        git merge origin/master

    8. 将当前分支push到远程master分支  git push origin master

    9. 删除远程仓库的xx分支                       git push origin :xx

    10.获取远程分支master并merge到当前分支 git pull origin master

        将远程a分支拉取并合并到本地b分支          git pull a b

    11. 强制删除本地的xx分支              git branch -D xx

    12 设置远程分支和本地分支的追踪关系         git  branch -u  origin/remote_branch_name  local_branch_name

    6. 查看当前版本状态(是否修改)   git status

    7. 增加x,y,z文件至index                   git add x y z

    8. 删除index中的文件x            git rm x

    8. 增加当前子目录下所有更改过的文件至index           git add .

    9. 放弃修改x文件,还原该文件                     git checkout x

    9. git commit -m ‘xxx’

    11.显示提交日志                 git log

    12.仅显示最后一次提交日志      git log -n 1

    13.显示最后一次提交所有更改过的文件          git log -n 1 --stat

    14.显示最近一次提交的所有更改细节                    git log -n 1 -p

    15.回退到merge前            git reset —merge

    16.刷新远程分支。    git remote update

    16. 回退

          1.git log查看提交历史

          2.git reset jbjhs(某个commit)/git reset —hard jbjhs (回退到这个commit,之前的修改全部舍弃)/git reset HEAD(回退到上一个版本)/git reset HEAD test.java(将该文件回退到上个版本)/git reset —hard origin/master将本地回退到和远程一样/git revert HEAD按照上次commit的相反再commit一次

          3. Git push origin master —force(需要关闭分支保护,push之后再开启分支保护)

    17 本地解冲突步骤(a合到test有冲突):

    (1)git checkout test, git pull origin test

      (2) git merge —no-ff a

      (3) 解冲突

      (4) git add .   Git commit -m ‘’

      (5) git push origin test

    如果在很早的master上拉取的分支开发,可能会有冲突,先将master merge到开发分支解冲突。

    18 拉取远程master更新时,本地master分支有未提交的文件

     git stash

     git pull

     git stash pop

    19 想在本地拉取远程的某一个分支进行改动

    git checkout -b dev origin/dev

    20 把一个仓库b的内容push到另外一个仓库a

     git remote add notebook http://git.corp.kuaishou.com/huangqixiang/jupyter-notebook.git(在a上建立远程notebook,来自于仓库b)

    git pull notebook master(在a上就可以把b合到a了)

    21git rm -r --cached .     (用来删除ignore不生效的方法)

      git add .

      git commit -m 'update .gitignore

    22  git tag -a 0.1.3 -m “Release version 0.1.3″  (打标签发版)

        Git add .

          Git commit

          git push origin —tags

        git tag -d 0.1.3

        git push origin :refs/tags/0.1.3

    23. 新建git项目

    git init

    Git add .

    Git commit -m ‘first commit'

    git remote add origin https://github.com/hudeqi/test_sssp.git

    git push -u origin master

    24. 查看当前分支更改了哪些   git diff .

    25. 比较两个分支不同  git diff a b   (a-,b+)

    26. 查看某个commit内容  git show commitid

       28. Git checkout commitId -b new_branch    以某个commit为止切个新分支

    27. 迁移项目到另一个仓库

            git remote set-url origin remote_git_address

            git push

        28 查看某次commit细节:git log、git show commit-id

        29 查看某人代码提交行数

        git log --author='username' --pretty=tformat: --numstat | awk '

            {add += $1; subs += $2; loc += $1 - $2 } END { printf "添加了%s,删除了%s,合计%s ", add, subs, loc }' -

    30. git cherry-pick <commit id>  将某个commit的添加到当前分支下

    31. Git rebase  push时master有变更,需要先pull,pull完提交会分叉,先git rebase,再push,commit记录就会成为一条直线,你的提交就会在最上面

    32. Git使用之Permission Denied问题解决:

        1. ssh-keygen -t rsa -C "$your_email"

        2. cat ~/.ssh/id_rsa.pub

        3. 粘贴到git的ssh管理页面上

    33. 两个git仓库合并:

        1. git remote add other git@github.com:kktjs/kkt-next.git(将 kkt-next 作为远程仓库,添加到 kkt 中,设置别名为 other)

        2. git fetch other (从 kkt-next 仓库中拉取数据到本仓库)

        3. git checkout -b kkt-next other/master (将 kkt-next 仓库拉取的 master 分支作为新分支 checkout 到本地,新分支名设定为 kkt-next)

        4. git checkout master  (切换回 kkt 的 master 分支)

        5. git merge kkt-next --allow-unrelated-histories (将 kkt-next 合并入 kkt 的 master 分支)

  • 相关阅读:
    leetcode 443: String Compression,357: Count Numbers with Unique Digits
    C++ 中 freopen()函数的用法
    filter
    map
    os.listdir
    os.path.join
    assert
    numpy中的axis和Pytorch中的dim参数
    mac中qq接收视频存放的位置
    requests
  • 原文地址:https://www.cnblogs.com/chuanmin/p/14699734.html
Copyright © 2020-2023  润新知