Git使用总结
来源:互联网 发布:网站编辑seo是什么 编辑:程序博客网 时间:2024/06/08 16:26
git
使用总结
1.git远程仓库地址变更本地如何修改
以项目git_test为例: old url:https://code.aliyun.com/miaogs/ao_alink_dr_5031.git
远程仓库名字:originforao
new url: https://code.aliyun.com/mxchip-ap/miaogs_projects.git
远程仓库名字:origin
1.1通过命令直接修改远程地址
cd git_test
git remote
–查看所有远程仓库,git remote -v
–查看指定远程仓库地址git remote set-url origin https://code.aliyun.com/mxchip-ap/miaogs_projects.git
注:这个方法只是将原来远程仓库的url
切换了,远程仓库的名称还是originforao
,如果想把远程仓库的名字改为origin
可以使用第二个方法。删除原来的远程分支,再添加一个名字是origin
的远程分支。
1.2通过命令先删除再添加远程仓库
cd git_test
git remote
–查看所有远程仓库,git remote xxx
查看指定远程仓库地址git remote rm origin
git remote add origin https://code.aliyun.com/mxchip-ap/miaogs_projects.git
1.3直接修改配置文件
cd git_test/.git
vim config
[core] repositoryformatversion = 0 filemode = true logallrefupdates = true precomposeunicode = true [remote "origin"] url = https://code.aliyun.com/miaogs/ao_alink_dr_5031.git fetch = +refs/heads/*:refs/remotes/origin/* [branch "master"] remote = origin merge = refs/heads/master
修改[remote “origin”]下面的url
即可。
1.4通过第三方git客户端
以SourceTree为例,点击 仓库 -> 仓库配置 -> 远程仓库 即可管理此项目中配置的所有远程仓库, 而且这个界面最下方还可以点击编辑配置文件,同样可以完成方法三。
2.git远程仓库地址变更本地修改之后提交代码
- 先使用
git status
检查本地使用由修改或者添加的文件; - 如果有的话使用
git add .
添加全部或者git add xxx
指定添加xxx
文件; - 使用
git commit -m "log"
提交,其中log
是日志; - 如果是第一次push,需要使用以下指令:
git push -u origin [new remote repository address]
其中origin
表示远程仓库名称,[new remote repository address]
是远程仓库的push
目标分支。-u
(推测为update
缩写^_^~
)表示本地分支将建立对远程仓库目标分支的检测,如果远程仓库目标分支不存在,将新建分支再push
;如果存在,将进行push
更新。否则会出现fatal: The current branch A.O_WF_3162 has no upstream branch.
的错误。以后提交可以使用git push origin [new remote repository address]
或者git push
3.git远程仓库建立新的分支同步到本地
使用git remote update
更新一下云端分支记录
注:
1. git branch
–查看本地的分支记录
1. git branch -r
–查看云端分支记录
1. git branch -a
–查看本地的分支以及云端分支记录
4.git删除、重命名远程分支和tag
4.1 git删除远程分支
可以删除远程分支:git push origin --delete <branchName>
4.2 git删除远程tag
可以删除远程tag:git push origin --delete tag <tagname>
4.3 git删除不存在对应远程分支的本地分支
可以使用:git remote prune origin
或者在fetch之后删除掉没有与远程分支对应的本地分支git fetch -p
4.4 git重命名远程分支
在git中重命名远程分支,其实就是先删除远程分支,然后重命名本地分支,再重新提交一个远程分支。
例如下面的例子中,我需要把 devel 分支重命名为 develop 分支:
1. 删除远程分支: git push --delete origin devel
2. 重命名本地分支: git branch -m devel develop
3. 推送本地分支:git push origin develop
如果devel
是项目的默认分支,需要以下操作:
1. 进入github
中该项目的Setting页面;
2. 设置DeFAULT Branch
为其他分支;
3. 重新执行删除远程分支命令。
4.5 git把本地tag推送到远程
git push --tags
4.6 git获取远程tag
git fetch origin tag <tagname>
5.git撤销本地修改与回退版本
5.1使用git checkout
撤销本地修改
即放弃对本地已修改但尚未提交的文件的修改,还原其到未修改前的状态。
注意: 已add/commit
的文件不适用个方法,应该用本文的5.2
。
命令如下:
git checkout . # 撤销对所有已修改但未提交的文件的修改,但不包括新增的文件git checkout [filename] # 撤销对指定文件的修改,[filename]为文件名
5.2使用git reset
回退项目版本
可以回退到任意已经提交过的版本。已add/commit
但未push
的文件也适用。
命令如下:
git reset --hard [commit-hashcode] # [commit-hashcode]是某个 commit 的哈希值,可以用 git log 查看
还有另外的办法:
git reset --hard HEAD^ # 回滚git版本到上一次提交时候的状态git reset --hard HEAD^^ # 回滚git版本到上上次提交时候的状态git reset --hard HEAD~20 # 回滚git版本到上20次提交时候的状态
一般用法是先使用git log
查看具体的commit
的哈希值,然后reset
到那个版本;
使用git log
查看一下:
miaogs@DESKTOP-E1D5SQI MINGW64 /e/9.MICO/2.project/HONYAR/alink/2.code/alink_HONYAR_SceneLed (master)$ git logcommit 72ad7a8fd149e09f318573fe98c24ca29f89d5dfAuthor: miaogs <miaogs@mxchip.com>Date: Fri Oct 20 16:29:34 2017 +0800 1、修改了上报下发参数,支持四舍五入; 2、固件版本:0712.LD01.AL00commit ed2c582c8c24091708e3d799e81869125f0d4c08Author: miaogs <miaogs@mxchip.com>Date: Mon Oct 9 16:27:49 2017 +0800 阿里平台 鸿雁情景灯 domecommit 5eaec71dcf14f1e5fdb51b4519fb5e02c80ca4eeAuthor: dingqq <dingqq@mxchip.com>Date: Wed Sep 27 16:09:49 2017 +0800 alin_emb v3 增加透传 democommit af7e9dfeead2bfef043b26175a3b93b1b92393a3Author: dingqq <dingqq@mxchip.com>Date: Fri Sep 22 09:54:34 2017 +0800 synccommit 61b98967629d67ef3c3431c12f3badb7ccf8ee83Author: dingqq <dingqq@mxchip.com>Date: Wed Sep 20 10:56:03 2017 +0800
退回到 commit 72ad7a8fd149e09f318573fe98c24ca29f89d5df
这个版本:
miaogs@DESKTOP-E1D5SQI MINGW64 /e/9.MICO/2.project/HONYAR/alink/2.code/alink_HONYAR_SceneLed (master)$ git reset --hard 72ad7a8fd149e09f318573fe98c24ca29f89d5dfHEAD is now at 72ad7a8 1、修改了上报下发参数,支持四舍五入;
查看一下当前的版本信息,看看是否回退成功:
miaogs@DESKTOP-E1D5SQI MINGW64 /e/9.MICO/2.project/HONYAR/alink/2.code/alink_HONYAR_SceneLed (master)$ git logcommit 72ad7a8fd149e09f318573fe98c24ca29f89d5dfAuthor: miaogs <miaogs@mxchip.com>Date: Fri Oct 20 16:29:34 2017 +0800 1、修改了上报下发参数,支持四舍五入; 2、固件版本:0712.LD01.AL00commit ed2c582c8c24091708e3d799e81869125f0d4c08Author: miaogs <miaogs@mxchip.com>Date: Mon Oct 9 16:27:49 2017 +0800 阿里平台 鸿雁情景灯 domecommit 5eaec71dcf14f1e5fdb51b4519fb5e02c80ca4eeAuthor: dingqq <dingqq@mxchip.com>Date: Wed Sep 27 16:09:49 2017 +0800 alin_emb v3 增加透传 democommit af7e9dfeead2bfef043b26175a3b93b1b92393a3Author: dingqq <dingqq@mxchip.com>Date: Fri Sep 22 09:54:34 2017 +0800 synccommit 61b98967629d67ef3c3431c12f3badb7ccf8ee83Author: dingqq <dingqq@mxchip.com>Date: Wed Sep 20 10:56:03 2017 +0800
6.撤销修改以及版本回退
首先有两个常用的命令:
git status
:命令可以列出当前目录所有还没有被git管理的文件和被git管理且被修改但还未提交(git commit
)的文件。git diff
:用于比较两次修改的差异。比较工作区和暂存区
git diff
查看尚未暂存的文件更新了哪些部分,不加参数直接输入
此命令比较的是工作目录(Working tree)和暂存区快照(index亦称staged)之间的差异。也就是修改之后还没有暂存起来的变化内容。比较暂存区与最新本地版本库(本地库中最近一次commit的内容)
git diff --cached [<path>...]
比较工作区与最新本地版本库
git diff HEAD [<path>...]
如果HEAD指向的是master分支,那么HEAD还可以换成master比较工作区与指定commit-id的差异
git diff commit-id [<path>...]
比较暂存区与指定commit-id的差异
git diff --cached [<commit-id>] [<path>...]
比较两个commit-id之间的差异
git diff [<commit-id>] [<commit-id>]
- git使用总结(转)
- git使用总结
- git使用总结
- git使用总结
- git使用总结
- git使用总结
- git使用总结
- git使用总结
- git使用总结
- git使用总结
- Git 使用总结
- Git使用总结
- git使用总结
- git使用总结
- git使用总结
- Git使用总结
- git使用总结
- git使用总结
- Delphi下使用Windows GDI绘图
- IntelliJ IDEA快捷键整理
- 异常-catch中的return
- 1欢迎使用CSDN-markdown编辑器
- opencv_haartraining.exe 训练数据集自己经历过的坑
- Git使用总结
- 自定义view-滑动刻度尺计算金额
- (转载)Android+Java知识点总结
- 关于facebook分享不能显示图片链接问题
- Android简单的Fragment+Viewpager切换(可滑动和点击切换)
- Ubuntu16.04安装最新版nodejs
- Spring和hibernate整合
- Hadoop和Saprk的异同
- Spring Boot模板thymeleaf的基本配置