zoukankan      html  css  js  c++  java
  • git 常用命令记录 -- 快捷&备忘

    1.安装 略
    2.git拉取远程分支
    git config user.name
    git config user.email
    git config --global user.name xxxx
    git config --global user.email xxxx.com
    git config -l

    配置多个key
    ssh-keygen -t rsa -C "xxxx.com" xxxx.com
    ssh-keygen -t rsa -C "xxxx.com" -f C:/Users/xxxxxxxx/.ssh/github_rsa
    配置config
    多个账号配置
    # 配置github.com
    Host github.com
    HostName github.com
    IdentityFile C:\Users\xxxxxxxx\.ssh\github_rsa
    PreferredAuthentications publickey

    # 配置gitlab.com
    Host gitlab.com
    HostName gitlab.com
    IdentityFile C:\Users\xxxxxxxx\.ssh\id_rsa.pub
    PreferredAuthentications publickey

    0.1 git init
    0.2 git remote add origin 分支地址
    git clone https://github.com/git/git
    0.3 某分支拉到本地
    git fetch origin xxxxxxxx

    git pull origin xxxxxxxx (会执行合并 - 远程分支名称) 实际git fetch,再做git merge。
    如果需要有选择的合并 git fetch是更好的选择。
    效果相同时 git pull将更为快捷。
    2.1 提交/推送
    git push origin xxxxxxxxxxx
    git push origin xxxxxxxxxxx
    2.2.在本地分支上合并远程分支。
    git merge origin/xxxxxxxxxxx
    git checkout master
    git merge hotfix

    2.3 添加文件
    git add <file> 提交单个文件
    git add . // 提交所有发生变化的文件添加到暂存区(增改),不包括删除
    git add -u // 只提交修改的文件和删除添加到暂存区,不包括新文件
    git add -A //所有文件(. && -u 集合) git的版本不同,命令则不一样
    2.4 放弃修改
    git fetch --all 获取所有分支
    git add .
    git reset --hard origin/xxxxxxxx
    git pull
    或者
    git reset --hard
    git pull

    2.5 修改分支名字
    git branch -m old_branch new_branch # Rename branch locally
    git push origin :old_branch # Delete the old branch
    git push --set-upstream origin new_branch # Push the new branch, set local branch to track the new remote
    2.6 合并
    分支合并,比如本地分支fz1, 合并到fz2
    git checkout fz2
    git merge fz1
    如下:
    将分支切换到master
    git checkout master
    二、将代码pull到本地
    git pull
    三、修改冲突
    四、提交到本地
    git add .
    git commit -m "merge"
    五、切换到你所在分支dev
    git checkout dev
    六、merge
    git merge master
    2.7 删除本地分支
    //查看本地分支
    git branch
    //删除目标分支
    git branch -D master
    //重新拉取master分支
    git checkout master
    2.8.回退
    git log
    (谨慎使用 使用前一定要先提交) git reset --hard 0177572d5e1f88d0b6b489a49e56e882ced15f12
    版本号 git reflog
    git reset –hard 版本号
    git reset –hard 98abc5a
    版本回退提交
    git log
    git push origin xxxxxxxxxx -f

    本地回退 git reset --hard commit_id(可用 git log –oneline 查看)
    远程回退 git push origin HEAD --force #远程提交回退


    git远程版本回退
    git push origin HEAD --force #远程提交回退
    下面的命令也可以实现远程版本回退
    git reset --hard HEAD~1
    git push --force
    git reset --hard xxxxxxxxxxxxxxxx

    merge后回退
    第一步:git checkout到你要恢复的那个分支上
    git checkout develop
    第二步:git reflog查出要回退到merge前的版本号
    git reflog
    第三步:git reset --hard [版本号]就回退到merge前的代码状态了
    git reset --hard f82cfd2

    2.9 查看差异
    dev 有,而 master 中没有的
    git log dev ^master
    TortoiseGit
    查看分支差异
    TortoiseGit -------> Diff with previous version
    https://www.cnblogs.com/gopark/p/10272100.html
    3.0 查看差异 git status
    3.1 修改注释 git commit --amend
    5.遇到的异常
    git checkout release xxxxxxxx Filename too long
    目录下配置 git config --global core.longpaths true 解决问题


    3.本地过滤无效问题
    1.原因是你在新增.gitignore(或者在文件中加入README.md)之前就已经提交 且把README.md纳入项目中 后续git会一直跟踪这个文件
    2.如果你在.gitignore中改为忽略.md结尾的文件并提交,在新建一个md文件,已定不会被跟踪
    3.[不改.gitignore文件前提下]解决该问题执行以下第一个,然后提交,后续不会再跟踪README.md文件了
    git rm --cached readme1.txt 删除readme1.txt的跟踪,并保留在本地。
    git rm --f readme1.txt 删除readme1.txt的跟踪,并且删除本地文件。

    解决:
    git rm -r --cached README.md

  • 相关阅读:
    iphone label相关的圆角处理(转)
    如何设置图片四个方向圆角属性
    iphone自动隐藏和显示工具栏和导航条
    重写系统黑色的TabBar
    awk正则表达式(转)
    AWK相关学习(转)
    C的 __FILE__, __LINE__的意思
    iphone UILabel 顶部对齐(top align)
    WPF笔记(4.5 MasterDetail数据绑定)——Data Binding
    CLR笔记:8.方法
  • 原文地址:https://www.cnblogs.com/tongbiao/p/11670989.html
Copyright © 2011-2022 走看看