Git使用教程

来源:互联网 发布:最新cpi数据 编辑:程序博客网 时间:2024/05/18 15:52

- 使用基础

$ 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 初始化仓库

-常用命令

$ 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保存一下,然后去修复bug2)工作现场还在,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

- 远程仓库

  • 第一步:创建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网址Git教程

0 0