[Git] 1、常用Git命令行总结(一)
一、GIT CLONE最常用的有如下几个
1.最简单直接的命令:git clone xxx.git
2.如果想clone到指定目录:git clone xxx.git “指定目录”
3.clone时创建新的分支替代默认Origin HEAD(master):git clone -b [new_branch_name] xxx.git
4.clone 远程分支
+ git clone 命令默认的只会建立master分支,如果你想clone指定的某一远程分支(如:dev)的话,可以如下:
– A. 查看所有分支(包括隐藏的) :git branch -a
– B. 在本地新建同名的(“dev”)分支,并切换到该分支:git checkout -b dev origin/dev
二、GIT TAG
Git tag来给工程打上标签,下面两个命令常用于将本地tag发送到远端服务器:
有时候推送不到远端,可能是当前账户无权限!
1.push单个tag,命令格式为:git push origin [tagname]
2.push所有tag,命令格式为:git push [origin] –tags
三、Git将本地项目推送到远程的过程
1.初始化将自己的项目放入缓存区:git init 和 git add ....(项目文件夹/文件)
2.提交项目到本地的仓库:git commit -m “(对该项目的说明)”
3.创建一个远程分支:git remote add origin https://…
4.将本地的仓库推送(push)到远程:git push origin master
5.一般情况下,在上面第4步执行后都会报错,大部分是报:fast-forwards 简单理解:你的队友已经在远程仓库推送了最新的版本,而你现在推送的版本却不是最新的
6.所以,你的将远程仓库最新的版本pull到你本地上,如下:git pull origin master
7.重复第4步:git push origin master
8.SUCCESS
四、在Git中Checkout历史版本
1.从某个历史版本创建新的分支: git checkout -b name-of-new-branch 169d2dc
在 Git 中从当前分支创建并检出新分支的命令是:git checkout -b name-of-new-branch
这个命令实际上是:git checkout -b name-of-new-branch current-branch
的简写形式。也就是说,当我们不指定 checkout 起点时,Git 默认从当前活动分支开始创建新的分支。Git 的每个提交都有一个 SHA1 散列值(Hash 值)作为 ID。我们可以在 checkout 命令中使用这些 ID 作为起点。比如:
git checkout -b name-of-new-branch 169d2dc
这样,Git 的活动分支会切换到 name-of-new-branch 这个分支上,而它的内容与 169d2dc 这个分支一致。
注意:
SHA1 的散列值有 40 个字母,相当长。所以 Git 允许我们在不引起歧义的情况下,使用散列值的前几位作为缩写
提示:
你也可以用 git branch name-of-new-branch 169d2dc 来创建一个历史分支,而不切换到该分支
2.将某个历史版本 checkout 到工作区: git checkout dev
或者
git checkout <sha1-of-a-commit>
如果我们工作在 master 分支上,希望 checkout 到 dev 分支上,我们可以这么做。但是这样做会产生一个分离的 HEAD 指针,所以个人不推荐这么做
3.将某个文件的历史版本 checkout 到工作区: git checkout
</path/to/your/file>
大多数时候,我们可能只需要对某一个文件做细小的修补,因此只 checkout 该文件就行了,并不需要操作整个 commit 或分支。上一节我们介绍了如何将某个历史版本完整地 checkout 到工作区。实际上,我们只需要在上一节的命令之后加上需要 checkout 的文件即可。当然,有时候你需要将某个文件的历史版本 checkout 出来,并以一个新的名字保存。这时候可以这么做:
git show:</path/to/your/file> > </new/name/of/the/file>
五、Git推送本地分支到远程分支
1.创建本地分支 local_branch: git branch local_branch
2.创建本地分支local_branch 并切换到local_branch分支: git checkout -b local_branch
3.切换到分支local_branch: git checkout local_branch
4.推送本地分支local_branch到远程分支 remote_branch并建立关联关系
– A.远程已有remote_branch分支并且已经关联本地分支local_branch且本地已经切换到local_branch: git push
– B.远程已有remote_branch分支但未关联本地分支local_branch且本地已经切换到local_branch: git push -u origin/remote_branch
– C.远程没有有remote_branch分支并,本地已经切换到local_branch: git push origin local_branch:remote_branch
5.删除本地分支local_branch: git branch -d local_branch
6.删除远程分支remote_branch: git push origin :remote_branch
7.重命名分支
– A.强制重命名:git branch -M oldbranch newbranch
– B.非强制重命名: git branch -m oldbranch newbranch
8.删除分支
– A.删除branchname分支: git branch -d | -D branchname
– B.删除远程branchname分支: git branch -d -r branchname
9.查看本地分支: git branch
a.查看远程和本地分支: git branch -a
其他
- 1.如何在windows下安装GIT_百度经验:
http://jingyan.baidu.com/article/90895e0fb3495f64ed6b0b50.html - 2.Android studio-Git忽略文件.ignore模板 - 简书:
http://www.jianshu.com/p/da3401d81ed0 - 3.git乱码解决方案汇总 | ZRONG’s Blog:
http://blog.zengrong.net/post/1249.html - 4.自定义Git之配置别名 - 流星飞雨 - 博客园 :
http://www.cnblogs.com/wntd/p/5888796.html - 5.git config配置文件 - shuhuai007的专栏 - CSDN博客 :
http://blog.csdn.net/joe_007/article/details/7276195 - 6.git 删除空文件夹 :
http://blog.csdn.net/u012057076/article/details/51025641 - 7.将项目同时托管到Github和Git@OSC - 哦这样的孤单 你冷若冰霜:
https://my.oschina.net/GIIoOS/blog/404555 - 8.git如何放弃所有本地修改_百度知道 :
https://zhidao.baidu.com/question/1047433320341166179.html - 9.git远程删除分支后,本地git branch -a 依然能看到的解决办法
- 10.git将一个分支完全覆盖另外一个分支如:paytest分支代码完全覆盖master分支
参考链接
1.git clone 一些简单笔记 - 窅山 - 博客园
2.git把Tag推送到远程仓库 - hustpzb的专栏 - 博客频道 - CSDN.NET
3.git将本地项目推送到远程
4.在 Git 中 Checkout 历史版本
5.git 分支管理 推送本地分支到远程分支等
:: 如果您觉得不错,请推荐给更多人,帮助他们更快地解决实际问题中的坑~
@beautifulzzzz
智能硬件、物联网,热爱技术,关注产品
博客:http://blog.beautifulzzzz.com
园友交流群:414948975
[Git] 1、常用Git命令行总结(一)的更多相关文章
- git常用的命令行
git管理相关基础命令行,因为现在很多公司都用git管理代码,所以被问及的概率很大,可以用pycharm的git系统,也可以用git代码管理 $git init #初始化仓库$git branch 分 ...
- GIT中常用的命令
最近项目中使用到了GIT,所以记录一下GIT中常用的命令. GIT使用的客户端有Git Bash:http://code.google.com/p/msysgit/ 还有乌龟TortoiseGit:h ...
- 十五个最常用Linux命令行 - imsoft.cnblogs
众多Linux管理员在使用Linux的时候会经常使用到很多Linux命令行,其中有绝大部分不是经常使用到的.在本文中主要为大家总结了经常使用的十五个最常用Linux命令行,希望对刚刚接触Linux命令 ...
- 十条常用nmap命令行格式
十条常用nmap命令行格式 ) 获取远程主机的系统类型及开放端口 nmap -sS -P0 -sV -O <target> 这里的 < target > 可以是单一 IP, 或 ...
- Vim中常用的命令行
Vim中常用的命令行... ------------------- 一些真正强大的武器总不是那么容易驾驭的,主角总得付出一些努力才能收获到更加强大的力量,对于 Vim 这种上古神器来说更是如此.由于它 ...
- flutter之VSCode下Flutter常用终端命令行
https://www.cnblogs.com/lxlx1798/p/11049922.html 梁飞宇 [Flutter学习]之VSCode下Flutter常用终端命令行 Flutter 常用命令行 ...
- redis常用的命令行以及操作
redis常用的命令行以及操作 转载酱紫人的理直气壮 最后发布于2018-07-30 17:00:41 阅读数 805 收藏 转载地址:https://blog.csdn.net/li_lening ...
- ipmi常用的命令行命令
前言 记录一些常用的命令行操作 命令 查询机器的电源状态 ipmitool -I lanplus -U admin -P admin -H 172.16.21.215 power status 硬重启 ...
- Git(二):常用 Git 命令清单
转: http://www.ruanyifeng.com/blog/2015/12/git-cheat-sheet.html 我每天使用 Git ,但是很多命令记不住. 一般来说,日常使用只要记住下图 ...
- git代理,windows命令行代理,linux命令行代理
下载不动设置代理:git config --global http.proxy http://127.0.0.1:1080git config --global https.proxy https:/ ...
随机推荐
- 【知识整理】这可能是最好的RxJava 2.x 入门教程(四)
这可能是最好的RxJava 2.x入门教程系列专栏 文章链接: 这可能是最好的RxJava 2.x 入门教程(一) 这可能是最好的RxJava 2.x 入门教程(二) 这可能是最好的RxJava 2. ...
- angular中的$q服务
$q的一共有四个api: 1.$q.when(value, successFn, errorFn, progressFn),返回值为一个promise对象 --value可以是一个任意数据,也可以是一 ...
- jQuery 评分插件(转)
评分效果的小插件jQuery Raty.它提供的API相当丰富真的是让人爱不释手.详细文档及下载插件请移步这里. 基本使用 下面我们来实际操作,运用一下这个有爱的小插件. 需要做的事情非常简单,在页面 ...
- 修改phpstorm的字体样式和大小
默认的字体实在太小,也太丑,必须修改下.就是强迫症,没错.下面截图配文字说明下 方法/步骤 首先进入设置,不解释 先设置软件界面上的字体.进入设置之后,选择(外观)Appearance.之后软 ...
- PHP htmlspecialchars和htmlspecialchars_decode(函数)
htmlspecialchars() 函数把一些预定义的字符转换为 HTML 实体. 函数原型:htmlspecialchars(string,quotestyle,character-set) 预定 ...
- mysql 左连接 右连接 内链接
一般所说的左连接,右连接是指左外连接,右外连接.做个简单的测试你看吧.先说左外连接和右外连接:[TEST1@orcl#16-12月-11] SQL>select * from t1;ID NAM ...
- [leetcode-630-Course Schedule III]
There are n different online courses numbered from 1 to n. Each course has some duration(course leng ...
- Python 实现 Discuz论坛附件下载权限绕过漏洞
背景:最近压力有些大,想玩点游戏放松下,去Mac论坛下载,发现需要各种权限,于是蛋疼了. 所以,上网查了discuz! x3.1破解,手动替换,发现出现“链接已过期”.所以写了下面程序. 0.将下列代 ...
- HTML5性能优化[转]
在看完这两章内容之后,我意犹未尽,于是乎从网上搜索关键字“Java Web高性能”,在IBM社区找到两篇不错的文章,而让人更意外的是我发现那两篇文章的内容跟<高性能HTML5>前两章高度相 ...
- cookie的存取
cookie的存取 /写cookies 一路径为标准,Path – 路径 function setCookie(name, value, time) { var strsec = getsec(tim ...