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

 
 
 

git 常用命令记录 -- 快捷&备忘的更多相关文章

  1. Linux常用命令速查备忘

    Linux常用命令速查备忘   PS:备忘而已,详细的命令参数说明自己man 一. 启动,关机,登入,登出相关命令 [login] 登录 [logout] 登出 [exit] 登出 [shutdown ...

  2. 『GitHub』Git常用命令记录

    Commands: git init 把当前目录变成Git可以管理的仓库 随后出现.git目录,这个目录是Git来跟踪管理版本库的git commit -m "change message& ...

  3. git常用命令记录

    配置本地仓库 git config --global user.name.git config --global user.email 查看配置详情 git config -l 初始仓库 git in ...

  4. 【记录】GIT 常用命令记录

    1. 查看所有的提交版本,包含当你co到之前提交版本后依旧可以看到以前的日志 git log --graph --pretty=format:'%h -%d %s (%cr)' --abbrev-co ...

  5. git 常用命令记录

    删除远程分支 git push origin --delete 远程分支名 删除本地分支 git branch -d 本地分支名 从master新建分支 git checkout -b 新分支名 建立 ...

  6. GIT常用命令备忘

    Git配置 git config --global user.name "storm" git config --global user.email "stormzhan ...

  7. 【转】Git常用命令备忘

    Git配置 git config --global user.name "robbin" git config --global user.email "fankai@g ...

  8. Git的常用命令记录

    Git的常用命令记录 1.与远程仓库建立连接,即关联一个远程库 git remote add origin git@server-name:path/repo-name.git; 2.查看当前分支  ...

  9. 总结自己的Git常用命令

    总结自己的Git常用命令 使用git也有一段时间了,把自己常用的命令用自己的描述记录起来,方便自己备忘也方便其他人参考. 目录: 最基本的命令: git clone 拷贝并跟踪远程的master分支. ...

随机推荐

  1. 迅速看一下jdk8

    一直在看java并发的感觉说的有点多,就看点简单的放松一下吧!这次来简单说一下jdk8,很久没用,都陌生了,仔细看看还挺有意思的,让我们大脑转化一个角度来写代码:因为我们现在平常大部分用jdk7写代码 ...

  2. 91云服务器网络带宽测试,IO测试、全国ping测试

    91yun服务器测试一键包介绍 一键包主要是为了让大家快速对服务器的基本状况有一个了解.考虑到天朝的网络出口问题,所以这个一键包更加偏向网络的测试. 影响测试耗时主要是下载,整个测试如果是能跑满100 ...

  3. 对DensePose: Dense Human Pose Estimation In The Wild的理解

    研究方法 通过完全卷积学习从图像像素到密集模板网格的映射.将此任务作为一个回归问题,并利用手动注释的面部标注来训练我们的网络.使用这样的标注,在三维对象模板和输入图像之间,建立密集的对应领域,然后作为 ...

  4. python中的基本类型

    字符串类型 字符串相当于羊肉串,而字符串就是一串被串起来的字符,在单引号.双引号或三引号内包裹一串字符.需要注意的是:三引号内的字符串可以换行,而单引号内的字符不行 name='anny' name= ...

  5. 【C语言】输入圆的半径,求解圆的周长和面积

    公式: C=2πr S=πr² 代码: #include<stdio.h> int main() { float r,PI; PI = 3.14159; printf("请输入圆 ...

  6. VMware升级到15版本虚拟机黑屏的解决方法

    1.启动VMware15虚拟机,在菜单栏找到:虚拟机→管理→更改硬件兼容性 2.打开该项,弹出更改硬件兼容性向导对话框,点  下一步,接下来把硬件兼容性改为Workstation 12.x 3.根据提 ...

  7. STUN和TURN协议解析

    在现实Internet网络环境中,大多数计算机主机都位于防火墙或NAT之后,只有少部分主机能够直接接入Internet.很多时候,我们希望网络中的两台主机能够直接进行通信,即所谓的P2P通信,而不需要 ...

  8. oracle 提取文本中的数字

    提取文本中的数字部分,并转换为数字 TO_NUMBER(regexp_substr(AGE,'[0-9.]+'))

  9. 红黑树java代码实现

    红黑树 思想源于:https://www.cnblogs.com/nananana/p/10434549.html有解释有图,很清晰(删除时需考虑根节点和兄弟节点的子节点是否存在) package t ...

  10. 4_2 刽子手游戏(UVa489)<自顶向下逐步求精法>

    Hangman Judge是一个猜英文单字的小游戏(在电子字典中常会看到),游戏规则如下:1.答案单字写在纸上(每个字元一张纸),并且被盖起来,玩家每次猜一个英文字元(letter).2.如果这个英文 ...