Git使用教程

- 使用基础

$ cd /C/Users/Administrator/learngit   进入指定仓库
git diff命令后不能继续输入命令,按q键即可回到输入行
exit命令为退出

- 安装git, 进一步设置

$ git config --global user.name "Your Name"
$ git config --global user.email "email@example.com"

- 创建仓库,且初始化

$ git init 初始化仓库

- 远程仓库

  • 第一步:创建SSH Key

在用户主目录下,看看有没有.ssh目录,如果有,再看看这个目录下有没有id_rsa和id_rsa.pub这两个文件,如果已经有了,可直接跳到下一步。如果没有,打开Shell(Windows下打开Git
Bash),创建SSH Key

$ ssh-keygen -t rsa -C "youremail@example.com"
  • 第二步:在Github添加公钥

登陆GitHub,打开“Account settings”,“SSH Keys”页面,点“Add SSH Key”,填上任意Title,在Key文本框里粘贴id_rsa.pub文件的内容

这里写图片描述

这里写图片描述

  • 第三步:添加多个SSH Key

加入有多台电脑提交,可以将每台的key都加入到github

- git实际使用

$ git remote -v; 查看远程库信息
  • 第一种方式

在本地和github都建立建立仓库,并且关联推送 第一次要将本地仓库和远程仓库关联起来。
要关联一个远程库,使用命令 :

git remote add origin git@server-name:path/repo-name.git

关联后,使用命令 git push -u origin master第一次推送master分支的所有内容; 此后直接使用命令git push origin master命令推送最新修改; 2、如果推送失败,说明远程比本地版本新,需要git pull 1)没有冲突或者解决掉冲突后,再用git push origin branch-name推送就能成功 2)如果git pull提示“no tracking information”,则说明本地分支和远程分支的链接关系没有创建,用命令git branch –set-upstream branch-name origin/branch-name

  • 第二种方式

先在远程建立仓库,其他人克隆该项目 git clone 地址(github里有该地址) 从远程仓库克隆到本地
从远程库clone时,默认情况下,只能看到本地的master分支
如果要在dev分支上开发,就必须创建远程origin的dev分支到本地,用这个命令创建本地dev分支: $ git checkout -b
dev origin/dev 现在,他就可以在dev上继续修改,然后,时不时地把dev分支push到远程

-常用命令

$ git  add  readme.txt      添加文件到暂存区
$ git commit –m “message”   提交修改信息
$ git log –pretty=oneline   查看版本信息
$ git status   查看当前状态
$ git diff   查看修改记录
$ git log   查看历史提交信息
$ git log –pretty=oneline   查看历史提交信息,不提示详细信息
$ git reflog   查看历史命令信息
$ git reset –hard HEAD^    回到上个版本(head表示当前版本)
$ git reset –hard HEAD~100   回到上100个版本
$ git reset  --hard 45545(版本号,前几位即可)     可以回复到指定版本
当文件在工作区做了错误修改,但还没有添加到暂存区,想要撤销时执行
$ Git checkout – readme.txt(文件)

当已经添加到暂存区,执行$ git reset HEAD readme.txt(文件)
这样就回到了工作区,再次执行上一步的工作区撤回,就完全没有了

当已经提交了,则进行版本回退
直接在文件夹删除或者用$  rm test.txt(文件)命令删除工作空间的文件
1)  接下来可以通过$ git checkout – test.txt恢复 (注意在版本库存在的情况下)
2)  通过$ git rm test.txt将版本库也删除,最后用git commit提交
关联一个远程库
$ git remote add origin git@server-name:path/repo-name.git;
关联后,使用命令
$ git push -u origin master   第一次推送master分支的所有内容;
$ git push origin master  第一次之后推送最新修改;
$ git clone 地址(github里有该地址)  从远程仓库克隆到本地
从远程库clone时,默认情况下,只能看到本地的master分支
现在,要在dev分支上开发,就必须创建远程origin的dev分支到本地,于是使用这个命令创建本地dev分支:
$ git checkout -b dev origin/dev
现在,他就可以在dev上继续修改,然后,时不时地把dev分支push到远程
$ git branch  查看分支
$ git branch <name>  创建分支
$ git checkout <name>  切换分支
$ git checkout -b <name>   创建+切换分支
$ git merge <name>  合并某分支到当前分支(例如将自己的分支dev合并到主分支,需要先切换到主分支,在执行该命令,$ git merger dev进行合并)
$ git branch -d <name>   删除分支
如果要删除一个没有被合并过的分支,要进行强制删除,执行
$ git branch -D <name>
用$ git log --graph命令可以看到分支合并图。
$ git merge --no-ff -m "merge with no-ff" dev   不进行快速模式合并,使用普通模式,这样合并后可以看到曾经做过的合并,而fast forward模式合并则没有
1)当手头工作没有完成时,先把工作现场$ git stash保存一下,然后去修复bug
2)工作现场还在,Git把stash内容存在某个地方了,但是需要恢复一下,有两个办法:
一是用$ git stash apply恢复,但是恢复后,stash内容并不删除,你需要用$ git stash drop来删除;
另一种方式是用$ git stash pop,恢复的同时把stash内容也删了:
3)再用$ git stash list查看,就看不到任何stash内容了:
$ git stash list

你可以多次stash,恢复的时候,先用$ git stash list查看,然后恢复指定的stash,用命令:
$ git stash apply stash@{0}
命令$ git tag <name>用于新建一个标签,默认为HEAD,也可以指定一个commit id;
命令$ git tag <name>  555dfgd54(commitid)用于新建一个标签,默认为HEAD,也可以指定一个commit id;
$ git tag -a <tagname> -m "blablabla..." dfd555(commitid)可以指定标签信息;
命令git tag可以查看所有标签。
命令$ git push origin <tagname>可以推送一个本地标签;
命令$ it push origin --tags可以推送全部未推送过的本地标签;
命令$ git tag -d <tagname>可以删除一个本地标签;
命令$ git push origin :refs/tags/<tagname>可以删除一个远程标签
忽略某些文件时,需要编写.gitignore.gitignore文件本身要放到版本库里,并且可以对.gitignore做版本管理!
$ git config --global alias.st status   将status配置为st

推荐一个学习git网址Git教程

  • 1
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值