Git安装学习记录
1、下载:
https://gitforwindows.org/
2、安装:https://blog.csdn.net/chengyuqiang/article/details/54178683
3.安装完成之后在开始菜单找到Git Bash点击弹出命令行窗口
4、登录用户名和邮箱
1 git config -global user.name "Your userName"
2 git config -global user.email "xxx@163.com"
5、创建版本库
1.进入到计算机某个磁盘并创建文件夹存放git项目仓库(如myRepository)
1 $ cd D:\MyInstall\Github:
2 $ mkdir myRepository
3 $ cd myRepository
4 $ git init
Initialized empty Git repository in D:\MyInstall\Github\myRepository\.git
6、git命令
(1)git add <file>,注意,可反复多次使用,添加多个文件。
(2)git commit -m "注释",完成提交。
(3)git reset --hard commit_id 回退版本。
(4)git reset HEAD -- file:清空add命令向暂存区提交的关于file文件的修改(Ustage)
(5)git log可以查看提交历史,以便确定要回退到哪个版本。
(6)git reflog查看命令历史,以便确定要回到未来的哪个版本。
(7)git checkout -- file: 可以让没有add和commit的文件回到修改前状态。
(8)rm file:删除文件,但是不提交修改,可以通过git checkout -- file恢复。
(9)git rm file:删除文件,无法通过git checkout -- file恢复,必须通过git reset HEAD -- file才有用。
(10)ssh-keygen -t rsa -C "youremail@example.com" :在windows下(电脑桌面即可) 打开git bash here 使用命令 $ ssh-keygen -t rsa -C "youremail@example.com"
创建创建SSH Key
(11)git remote add origin git@github.com:username/Mytest.git :和GitHub上的远程仓库关联,username是GitHub的用户名,Mytest.git是在GitHub上新建的远程仓库。
添加后,远程库的名字就是origin,这是Git默认的叫法,也可以改成别的,但是origin这个名字一看就知道是远程库。
在关联远程库后使用 git add file 和git commit -m "注释"后就可以执行步骤(12)了。
参考:https://www.cnblogs.com/onephp/p/6116716.html
(12)git push -u origin master 我们第一次推送master
分支时,加上了-u
参数,Git不但会把本地的master
分支内容推送的远程新的master
分支,还会把本地的master
分支和远程的master
分支关联起来,在以后的推送或者拉取时就可以简化命令。
测试时一直push失败,
error: failed to push some refs to 'git@github.com:username/Mytest.git '
hint: Updates were rejected because the tip of your current branch is behind
hint: its remote counterpart. Integrate the remote changes (e.g.
hint: 'git pull ...') before pushing again.
hint: See the 'Note about fast-forwards' in 'git push --help' for details.
git pull --rebase origin master
git push -u origin master
(13)git clone git@github.com:username/jeecms.git 克隆GitHub上的远程库
(14) 查看分支:git branch ,当前分支会有一个*
创建分支:git branch <name>
切换分支:git checkout <name>
创建+切换分支:git checkout -b <name>
合并某分支到当前分支:git merge <name>
删除分支:git branch -d <name>,如果要丢弃一个没有被合并过的分支,可以通过git branch -D <name>
强行删除。
git log --graph:命令可以看到分支合并图。
$ git merge --no-ff -m "merge with no-ff" dev:合并dev分支,请注意--no-ff参数,表示禁用Fast forward,--no-ff参数就可以用普通模式合并,合并后的历史有分支,能看出来 曾经做过合并,而fast forward合并就看不出来曾经做过合并
(15)修复bug时,我们会通过创建新的bug分支进行修复,然后合并,最后删除;
当手头工作没有完成时,先把工作现场git stash
一下,然后去修复bug,修复后,再git stash pop
,回到工作现场。
(16)git 多人协作的工作模式通常是这样:
首先,可以试图用
git push origin branch-name
推送自己的修改;如果推送失败,则因为远程分支比你的本地更新,需要先用
git pull
试图合并;如果合并有冲突,则解决冲突,并在本地提交;
没有冲突或者解决掉冲突后,再用
git push origin branch-name
推送就能成功!
如果git pull
提示“no tracking information”,则说明本地分支和远程分支的链接关系没有创建,用命令git branch --set-upstream branch-name origin/branch-name
。
这就是多人协作的工作模式,一旦熟悉了,就非常简单。
(17)
git tag <name>用于新建一个标签,默认为HEAD,也可以指定一个commit id;
git tag -a <tagname> -m "blablabla..."可以指定标签信息;
git tag -s <tagname> -m "blablabla..."可以用PGP签名标签;
命令git tag可以查看所有标签。
命令git push origin <tagname>可以推送一个本地标签;
命令git push origin --tags可以推送全部未推送过的本地标签;
命令git tag -d <tagname>可以删除一个本地标签;
命令git push origin :refs/tags/<tagname>可以删除一个远程标签。
(18)
忽略某些文件时,需要编写.gitignore;
.gitignore文件本身要放到版本库里,并且可以对.gitignore做版本管理!
Git安装学习记录的更多相关文章
- Git原理学习记录
Git原理学习记录 1.git init git-test git init 实际上就是在特定的目录下创建对应的目录和文件 2.object $ echo "V1" > ...
- GIT初始学习记录
目录 GIT学习记录 配置github与gitlib两个账号 基本操作 git init:初始化仓库 git status:查看仓库状态 git add :向缓存区中添加文件 git commit 保 ...
- git原理学习记录:从基本指令到背后原理,实现一个简单的git
一开始我还担心 git 的原理会不会很难懂,但在阅读了官方文档后我发现其实并不难懂,似乎可以动手实现一个简单的 git,于是就有了下面这篇学习记录. 本文的叙述思路参照了官方文档Book的原理介绍部分 ...
- myeclipse8.6 git 安装学习
只有公司有svn,回到宿舍无法访问,因此没法做迭代开发,因此最近学习了git,这样在公司了提交的代码,回到宿舍也可以继续开发,用了一天的时间才弄明白git的原理,智商有问题啊,下面说下具体步骤,个人已 ...
- [git]git版本管理学习记录
今天看到别人用这玩意记录自己的进度, 我也学习了一下. 1,适当的工具会提升效率 2,关注点还是得放在代码本身上. github/gitignore github提供了各种gitignore文件 有p ...
- 【Git】学习记录
配置git git config --global user.name "用户名或者用户ID" git config --global user.email "邮箱&qu ...
- Git学习记录--git仓库
Git是一款强大的版本控制工具,与svn相比git的分布式提交,本地仓库等在使用时确实比较方便.当然两者之间各有优劣,我在这里不多做比较.由于之前少有接触git,只是零星大致地了解一点,所以找时间系统 ...
- Git学习记录 力做全网最强入门教程
目录 Git学习记录 力做全网最强入门教程 什么是GitHub? 什么是Git? Git的配置 Git的安装(只介绍windos操作系统下) Git的配置 至此我们的入门教程到此结束,更新中级教程要等 ...
- git学习1:git安装和配置
Git是什么?世界上最先进的分布式版本控制系统,记录了一个文本文件的每次一修改信息,比如,一篇散文,从草稿到最终出版,经历过无数次修改,修改了标点符号形成一个版本,老师帮助修改形成一个版本,同学帮忙修 ...
随机推荐
- Go环境下,编译运行etcd与goreman集群管理(1)
Go环境下编译运行etcd与goreman管理 近几年了Go在比特币.区块链.云服务等相关重要领域贡献突出,作为IT行业的传承“活到老.学到光头”,保持学习心态. 周末放假,补充一二 主题:在Go环境 ...
- PHP 写文件的例子
$contents = "All the content"; $dir = 'c:'; $file_path = $dir . "\\content.txt"; ...
- Java的GUI如何能够切换界面
在设计GUI的时候,会遇到类似于菜单栏的切换,如何做到界面切换 使用一个JTabbedPane组件,就可以实现界面的切换问题. 在使用的时候可以将里面要使用的组件进行一个封装,封装成一个Panel.再 ...
- timerfd与eventfd
1.timerfd timerfd是定时器描述符,通过timerfd_create()来创建它,timerfd_settime()来设置定时器时间,当时间到期定时器文件描述符就可读,所以能够在sele ...
- php7注意事项
1. 不要使用 mysql_ 函数 这一天终于来了,从此你不仅仅“不应该”使用mysql_函数.PHP 7 已经把它们从核心中全部移除了,也就是说你需要迁移到好得多的mysqli_函数,或者更灵活的 ...
- Docker Compose部署lnmp
参考:https://github.com/micooz/docker-lnmp 一.简介 使用Dcoekr镜像部署lnmp(Linux.Nginx.MySQL.PHP7). 1.1 结构 app └ ...
- stm32常识
cmsis全称Cortex Microcontroller Software Interface Standard,就是Cortex微处理器软件接口标准 stm32每组gpio有7组端口,分别是2个3 ...
- How to fix "FAILURE DURING CONVERSION TO COFF: FILE INVALID OR CORRUPT"
Error LINK : fatal error LNK1123: failure during conversion to COFF: file invalid or corrupt appear ...
- [Selenium With C#基础教程] Lesson-01环境搭建
作者:Surpassme 来源:http://www.jianshu.com/p/33b87bc00233 声明:本文为原创文章,如需转载请在文章页面明显位置给出原文链接,谢谢. 最近开始复习Sele ...
- java重定向与请求转发的区别
最近工作不算太忙,今天在这里对java中的重定向和请求转发稍作总结,希望能帮助到大家. 请求转发: request.getRequestDispatcher().forward(); 重定向: res ...