git常用命令分享

4 篇文章 0 订阅
3 篇文章 0 订阅

 git常用命令分享

 

git clone指定项目的分支
方法一:
    git clone -b dev 代码仓库地址 (dev是分支名称)

方法二:
*打开Git Bash
*在Git Bash 中输入进行初始化
    git init
*与远程代码仓库建立连接:
               本地   远程
    git remote add origin git@dev.xxx.com:xxx.git
    git remote remove origin

*将远程分支拉到本地:
    git pull <远程仓库名> <远程分支名>:<本地分支名>
    git pull origin second:main
    git pull origin v2/dev:main
*提交到本地
    git add .
    git commit -m "注释"
*推送到服务器
    git push <远程仓库名> <本地分支名>:<远程分支名>
    git push origin main:second
生成新的ssh key:
    命令:ssh-keygen -t rsa -C "your_email@example.com"
    ssh-agent bash
    ssh-add ~/.ssh/id_rsa
    ssh -T git@xxx.com

将已经存在的ssh密钥添加到本地git
    1.启动ssh代理添加: eval $(ssh-agent -s)
    2.添加自己的私钥(已经存在了):  ssh-add "G:\Work\xxx\file\.ssh\id_rsa"
    3.检查是否添加成功: ssh -T git@dev.xxx.com
重新设置已经存在的远程地址
    git remote set-url origin git@xxx.com:someaccount/someproject.git
设置git代理
    vi ~/.gitconfig
    增加如下内容
    [http]
        proxy = socks5://127.0.0.1:1080
    [https]
        proxy = socks5://127.0.0.1:1080

查看git本地分支
    git branch
    git branch -a
先切换到别的分支:
    git checkout 分支名
    git checkout second
删除本地分支:
    git branch -d [分支名]
    git branch -d second
删除远程分支:
    git push origin --delete [分支名]
    git push origin --delete second
创建分支 :
    git branch [分支名]
    git branch second
比较本地主分支和刚下载的远程分支的区别
    git diff temp
git stash save "暂时屏蔽的备注"
git stash pop stash@{0}
git stash apply stash@{0}

git init
git remote add origin git@dev.xxx.com:xxx.git
git pull origin second:main
echo 请确认是否要执行以下脚本
ping -n 5 127.0.0.1 > nul
git pull origin second:main
git add .
git commit -m "功能修改"
git push origin main:second

远程代码下载到本地新建分支;对比区别后在合并
查看远程分支
git remote -v
1.切换到分支
git checkout temp
git checkout -b temp 创建新的分支temp
2.获取远程分支
git pull
git fetch origin [远程分支]:[本地分支]
git fetch origin master:temp
3.切换到主分支
git checkout master
4.合并temp分支到主分支(自动合并到当前所在分支, 版本号应该也会更新)
git merge temp
5.推送分支到远程
git push
删除分支
git branch -d temp
6.重置到某个版本
git reset --hard hash串
7.本地分支与远程分支建立连接, 强制推送加-f
git push --set-upstream origin local_branch:remote_branch
--set-upstream 也可以简化成 -u
8.本地有master分支,远程也有master分支,但还未关联。使用 git push -u origin/remote_branch 命令推送

假如你的本地文件已经过时,并且不再需要本地已经修改的文件时,

git reset的使用:如,现在git checkout master,执行git reset --hard origin/master可以将本地分支的所有文件重置到与远程分支一样的文件版本,所有旧的本地文件都会被覆盖,前提是已经拉取了远端最新文件

git rebase的使用:如,现在git checkout dev,使用git rebase master会将master合并到dev上

合并历史代码到某一分支:

当跳回(git reset --hard 当前分支历史的hash串)master分支历史记录并对其中的文件进行了修改时,此时进行提交,保存后并不会和master最新代码进行合并,而是会产生一个新的分支,此分支名称为一串hash代码前缀,提交完成后,切换到想要合并的master分支(git checkout master),此时会提示有一个隐藏分支已经完成了保存,名称就是一串hash代码,如果要使用这个隐藏分支的代码,需要对其创建一个分支,创建分支之后才可以使用git进行签出使用

这里使用git checkout dev hash串创建一个dev分支,并切换到master分支,然后使用git merge dev将刚才修改的代码合并到当前master分支

 

至此,已完成历史代码合并到最新master分支的操作,当然,我这里合并分支并没有产生文件冲突,如果合并时有冲突,则需要对冲突文件进行处理然后才能合并

代码冲突解决

如果分支的本地代码和远端分支的代码相同,但是没有进行关联,使用下列命令进行分支关联:
$ git branch --set-upstream-to=远端分支
如:
$ git branch --set-upstream-to=origin/remote_branch

如果代码不一致,要先解决代码一致的问题

推送到已存在的远端,但远端没有该分支
git init
git add .
git commit -m "初始化提交"
git remote add origin git@ip:xxx/java.git
git checkout -b 123
git push --set-upstream origin 123 -f


推送到已存在的远端,但远端有该分支,强制推送覆盖已存在分支
git init
git add .
git commit -m "初始化提交"
git remote add origin git@ip:xxx/java.git
git checkout -b 123
git push --set-upstream origin 123-f

正常情况是先拉取代码,然后将自己的代码添加到某个分支下,然后再进行提交代码

当远端没有dev分支,但是本地此时创建了一个dev分支,如果想要推送到远端对应的dev分支,则使用以下命令

git push -u origin dev

其中 -u 参数告诉 Git 在远程存储库中设置上游(默认)分支。第一次推送分支时,它会自动创建同名分支。之后,在推送更改时,只需要运行:

git push

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值