git命令汇总自学汇总

本文汇总了Git的各种常用命令,包括代码更新、合并、回退、解决冲突、分支操作、SSH密钥设置等。还介绍了如何强制拉取、查看代码差异以及在合并时保留单一提交记录。此外,还讲解了如何通过Git远程同步不同项目,并使用gitblame追踪代码修改。
摘要由CSDN通过智能技术生成

汇总Git语句。主要是自学用,也欢迎网友们查看和使用,持续更新。

1.问:git pull后代码没有更新?

答:本地存了修改文件。

git status ./ //查看代码有无更新
git checkout "filename"
git pull

2.如何合并merge

dev代码更新了,传到master上,代码如下
git checkout dev
git pull
git checkout master
git merge dev
git commit -m 'fix'
git push -u origin master

3.回退到某个commit

git log 查看提交commit的sha码

git reset --hard HEAD^ 回退到上个版本
git reset --hard HEAD~3 回退到前3次提交之前,以此类推,回退到n次提交之前
git reset --hard commit_id 退到/进到 指定commit的sha码
git push  -f 回退后强制提交

4.git pull 或切换分支时代码冲突,但又不想commit

如果改动很重要——存了
git add 冲突文件
git stash
git stash pop //合并暂存的代码

如改动不重要——扔了
git clean -n         //这个是清除文件预览
git clean -f         //强制清除文件

git checkout -f dev  //强制切换分支

5.复制线上分支到本地

git fetch origin dev(dev为远程仓库的分支名)
git checkout -b dev(本地分支名称) origin/dev(远程分支名称)
git pull origin dev(远程分支名称)  
git diff dev  #diff一下,看看是不是拉下来

6新建本地分支,并对应建立远程分支和推送到远程分支

git branch newbranch; 
git checkout newbranch;这两个命令合起来.新建一个分支,并切换到该分支上去

 git push origin newbranch:newbranch   //创建了一个远程分支名字叫 newbranch
 git push --set-upstream origin newbranch
 这时就可以在这个分支下使用 git pull 推送支远程的新分支上了

7强制拉取

git fetch --all
git reset --hard origin/master
git pull

8 git diff

https://blog.csdn.net/wq6ylg08/article/details/88798254

(待补充)
(4)git diff <分支名1> <分支名2> :比较两个分支上最后 commit 的内容的差别
(4.1)  git diff branch1 branch2 --stat    显示出所有有差异的文件(不详细,没有对比内容)
(4.2)  git diff branch1 branch2              显示出所有有差异的文件的详细差异(更详细)
(4.3)  git diff branch1 branch2 具体文件路径 显示指定文件的详细差异(对比内容)

git diff commit-id-1 commit-id-2 > d:/diff.txt

9 git ssh 秘钥

https://www.jianshu.com/p/0f26664e9f6a
Mac:
    1.终端输入:cd ~/ .ssh
    2.终端输入:sudo ssh-keygen -t rsa -C "victordu6694@gmail.com"
    3.回车后提示输入密码, 此处密码可以不填, 直接回车,提示再次输入密码, 直接回车,生成成功
    4.前往 /Users/victor/.ssh/id_rsa.pub 找到SSH key
    5.登录github。打开setting->SSH keys,点击右上角 New SSH key,把生成好的公钥id_rsa.pub放进 key输入框中,再为当前的key起一个title来区分每个key

10 git remote 同步两个项目

#项目1和项目2是两个同事对同一个主项目的复制,现在想在项目1中把项目2的修改commit复制下来。
git remote add upstream  项目1地址
git remote -v#查看当前分支
git fetch upstream

若有冲突,解决之
git merge upstream/分支名
git push

11git blame

git blame D:\code\test.py -L 100,101   查看 D:\code\test.p文件100,101的提交者和提交分支

12 merger时只保留一条记录

# 切换到目标分支上进行合并操作
$ git checkout target_branch
# 运行合并操作,并指定 --squash 参数来保留最新的 commit
$ git merge source_branch --squash
# 编辑合并后的提交信息
$ git commit -m "Merge branch 'source_branch' into 'target_branch'"
# 如果需要,可以再次修改提交信息或者添加其他更改
# 完成合并操作
$ git push origin target_branch
  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值