github--git的使用

个人github https://github.com/wuhaining/-wuhaining.github.io

操作系统:window7

学习参考:

http://www.liaoxuefeng.com/wiki/0013739516305929606dd18361248578c67b8067c8c017b000

http://www.cnblogs.com/BeginMan/p/3591005.html

http://blog.csdn.net/wirelessqa/article/details/20152651

一、下载软件

https://git-for-windows.github.io/

二、安装

安装成功

三、配置

1、打开“Git”->“Git Bash”

2、配置使用用户

因为git是分布式版本控制系统,所以每个机器都必须自报家门:名字和email

在命令行中输入

$ git config --global user.name "Your Name"
$ git config --global user.email "[email protected]"

注意git
config
命令的--global参数,用了这个参数,表示你这台机器上所有的Git仓库都会使用这个配置,当然也可以对某个仓库指定不同的用户名和Email地址。

3、创建版本库

版本库又名仓库,英文名repository,你可以简单理解成一个目录,这个目录里面的所有文件都可以被Git管理起来,每个文件的修改、删除,Git都能跟踪,以便任何时刻都可以追踪历史,或者在将来某个时刻可以“还原”。

(1)、进入一个目录

ls命令---列出所有的目录

pwd命令----显示当前路径

(2)、创建一个空目录myGit

使用命令 mkdir

注:如果你使用windows系统,为了避免遇到各种莫名其妙的问题,请确保目录名(包括父目录)不含中文。

(3)、把这个目录变成git可以管理的仓库

使用命令 git init

瞬间Git就把仓库建好了,而且告诉你是一个空的仓库(empty Git repository),细心的读者可以发现当前目录下多了一个.git的目录,这个目录是Git来跟踪管理版本库的,没事千万不要手动修改这个目录里面的文件,不然改乱了,就把Git仓库给破坏了。

如果你没有看到.git目录,那是因为这个目录默认是隐藏的,用ls
-ah
命令就可以看见。

(4)、把文件添加到版本库

编写一个test.txt文件

一定要放在myGit目录下(子目录也行)。【这是一个git仓库】

***********把一个文件放到git仓库需要两步**********

第一步:使用命令 git add,把文件添加到仓库。

没有任何消息显示,说明添加成功。【Unix的哲学是“没有消息就是好消息”】

第二步:使用命令git
commit,把文件提交到仓库。

-m后面输入的是本次提交的说明,可以输入任意内容,当然最好是有意义的,这样你就能从历史记录里方便地找到改动记录。

一次添加多个文件

$ git add file1.txt
$ git add file2.txt file3.txt
$ git commit -m "add 3 files."

四、操作

1、git status命令查看结果

修改前

修改后

2、git diff命令查看具体修改了什么内容

3、git log命令查看历史操作记录

git log --pretty=oneline命令简化信息

4、git reset命令版本回退

1)、HEAD

首先,Git必须知道当前版本是哪个版本,在Git中,用HEAD表示当前版本,也就是最新的提交3628164...882e1e0(注意我的提交ID和你的肯定不一样),上一个版本就是HEAD^,上上一个版本就是HEAD^^,当然往上100个版本写100个^比较容易数不过来,所以写成HEAD~100

2)、版本号

5、git reflog命令用来记录你的每一次命令

6、git checkout -- file在工作区的修改全部撤销。

命令git checkout -- readme.txt意思就是,把readme.txt文件在工作区的修改全部撤销,这里有两种情况:

一种是readme.txt自修改后还没有被放到暂存区,现在,撤销修改就回到和版本库一模一样的状态;

一种是readme.txt已经添加到暂存区后,又作了修改,现在,撤销修改就回到添加到暂存区后的状态。

总之,就是让这个文件回到最近一次git commitgit
add
时的状态。

注:git
checkout -- file
命令中的--很重要,没有--,就变成了“切换到另一个分支”的命令。

7、cat命令查看文件内容

总结:

场景1:当你改乱了工作区某个文件的内容,想直接丢弃工作区的修改时,用命令git checkout -- file

场景2:当你不但改乱了工作区某个文件的内容,还添加到了暂存区时,想丢弃修改,分两步,第一步用命令git reset HEAD file,就回到了场景1,第二步按场景1操作。

8、rm命令删除文件

rm----直接在文件管理器中删除文件,但是工作区和版本库会不一致。

git rm---使用命令git rm删除文件,在使用命令git commit

如果不小心删除了,可以重新从版本库中checkout一份下来。

使用命令git checkout -- file

五、远程仓库

1、准备工作

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

如下:

第2步:登陆GitHub,打开“Account
settings”,“SSH Keys”页面:

然后,点“Add
SSH Key”,填上任意Title,在Key文本框里粘贴id_rsa.pub文件的内容:

点击“Add
Key”,如下:

为什么GitHub需要SSH Key呢?因为GitHub需要识别出你推送的提交确实是你推送的,而不是别人冒充的,而Git支持SSH协议,所以,GitHub只要知道了你的公钥,就可以确认只有你自己才能推送。

当然,GitHub允许你添加多个Key。假定你有若干电脑,你一会儿在公司提交,一会儿在家里提交,只要把每台电脑的Key都添加到GitHub,就可以在每台电脑上往GitHub推送了。

最后友情提示,在GitHub上免费托管的Git仓库,任何人都可以看到喔(但只有你自己才能改)。所以,不要把敏感信息放进去。

如果你不想让别人看到Git库,有两个办法,一个是交点保护费,让GitHub把公开的仓库变成私有的,这样别人就看不见了(不可读更不可写)。另一个办法是自己动手,搭一个Git服务器,因为是你自己的Git服务器,所以别人也是看不见的。这个方法我们后面会讲到的,相当简单,公司内部开发必备。

2、新建远程仓库

3、关联远程库

命令参考

命令:

$ git remote add origin [email protected]:wuhaining/wuhaining.github.io.git

查看

$git remote -v

推送本地内容到远程库

把本地库的内容推送到远程,用git push命令,实际上是把当前分支master推送到远程。

由于远程库是空的,我们第一次推送master分支时,加上了-u参数,Git不但会把本地的master分支内容推送的远程新的master分支,还会把本地的master分支和远程的master分支关联起来,在以后的推送或者拉取时就可以简化命令。

到了这里遇到一个问题?

按照网上分析所说:

远程仓库中代码版本与本地不一致冲突导致的。

解决:

git pull

再自动merge或手动merge冲突

再次git push

这样就同步了

总结:

要关联一个远程库,使用命令git remote add origin [email protected]:path/repo-name.git

关联后,使用命令git push -u origin master第一次推送master分支的所有内容;

此后,每次本地提交后,只要有必要,就可以使用命令git push origin master推送最新修改;

4、创建分支

首先,我们创建dev分支,然后切换到dev分支:

$ git checkout -b dev
Switched to a new branch ‘dev‘

git checkout命令加上-b参数表示创建并切换,相当于以下两条命令:

$ git branch dev
$ git checkout dev
Switched to branch ‘dev‘

然后,用git branch命令查看当前分支:

$ git branch
* dev
  master

git branch命令会列出所有分支,当前分支前面会标一个*号。

测试

改变内容

提交

现在,dev分支的工作完成,我们就可以切换回master分支:

$ git checkout master
Switched to branch ‘master‘

切换回master分支后,再查看一个readme.txt文件,刚才添加的内容不见了!因为那个提交是在dev分支上,而master分支此刻的提交点并没有变:

现在,我们把dev分支的工作成果合并到master分支上:

$ git merge dev
Updating d17efd8..fec145a
Fast-forward
 test.txt |    1 +
 1 file changed, 1 insertion(+)

git merge命令用于合并指定分支到当前分支。合并后,再查看test.txt的内容,就可以看到,和dev分支的最新提交是完全一样的。

注意到上面的Fast-forward信息,Git告诉我们,这次合并是“快进模式”,也就是直接把master指向dev的当前提交,所以合并速度非常快。

当然,也不是每次合并都能Fast-forward,我们后面会将其他方式的合并。

合并完成后,就可以放心地删除dev分支了:

$ git branch -d dev
Deleted branch dev (was fec145a).

删除后,查看branch,就只剩下master分支了:

$ git branch
* master

因为创建、合并和删除分支非常快,所以Git鼓励你使用分支完成某个任务,合并后再删掉分支,这和直接在master分支上工作效果是一样的,但过程更安全。

Git鼓励大量使用分支:

查看分支:git branch

创建分支:git branch <name>

切换分支:git checkout <name>

创建+切换分支:git checkout -b <name>

合并某分支到当前分支:git merge <name>

删除分支:git branch -d <name>

个人github https://github.com/wuhaining/-wuhaining.github.io

版权声明:本文为博主原创文章,未经博主允许不得转载。

时间: 2024-11-05 11:50:23

github--git的使用的相关文章

git报错failed to push some refs to &#39;[email&#160;protected]:Markprint/github.git&#39;

 这个不知名小错误用了我两天的空余时间mmp   就是这里报的错 输入 git push origin master -f 解释为: 远程分支上存在本地分支中不存在的提交,往往是多人协作开发过程中遇到的问题,可以先fetch再merge,也就是pull,把远程分支上的提交合并到本地分支之后再push.如果你确定远程分支上那些提交都不需要了,那么直接git push origin master -f,强行让本地分支覆盖远程分支 终于有了,以后还需要具体研究一下 虽然用的github,但是要推广一下

Markdown语法学习(Github/git.oschina.net上README.md书写规范)(转)

晚上在更新git.oschina.net项目时,突然想知道README.md后缀的来源,于是搜了下,发现README.md使用了一种小标记语言Markdown的语法,于是简单的看了一个,特转载如下,为了下次参考方便(http://blog.csdn.net/kaitiren/article/details/38513715也不错).中文参考手册可以参考http://wowubuntu.com/markdown/index.html Markdown 的目标是实现「易读易写」,兼容HTML. 但是

GitHub Git 备忘单

安装git见上一章 配置工具 对所有本地仓库的用户信息进行配置 $ git config --global user.name "[name]" 对你的commit操作设置关联的用户名 $ git config --global user.email "[email address]" 对你的commit操作设置关联的邮箱地址 创建仓库 创建一个新的仓库或者从一个现有的链接获取仓库 $ git init [project-name] 创建一个本地的仓库,并设置名字

debian多用户下github git push的配置, 不需要帐号密码.

因为debian有多种用户, root和普通的user 所以我把user作为了私有的git仓库用户. 把root超级管理员作为了github的用户. 这样子只需要单独配置两个不同的共用gitconfig就可以通用了. 第一个是root下的配置, 在/root/.gitconfig [user] name = rainysia email = [email protected] [alias] co = checkout br = branch ci = commit st = status la

Github git的一些基本应用

在Mac os x上面,首先在终端git --version看有没有得到版本信息,如果有责git安装成功 比如: sunshinedeMacBook-Pro:Github sunshine$ git --version git version 2.3.2 (Apple Git-55) 一般装了Xcode,都会有的.git的安装和配置这里我就不说了.下面我记录一下自己用第一次用git上传文件的过程 首先在你任何一个目录下,建立一个仓库: git init 通过ls -a 你会看到有个.git的文件

【github&amp;&amp;git】6、SmartGit(试用期30后),个人继续使用的方法。

在我们做项目的过程中,我们会用到SmartGit这个软件来将本地的MAVEN项目push到国内的码云(https://git.oschina.net)或者是国外的github网站进行项目的管理,这个时候需要用到Smartgit.但是SmartGit是收费的,可以30天的试用期,30天试用期过后,smartgit 需要输入序列号解决办法,可以通过下面的小方法来获取永久的使用,但是这个仅供个人的试用,公司的嘛还是应该花钱买正版的. smartgit 需要输入序列号解决办法 ,找到路径: %APPDA

Github——Git设置及GitHub的使用

把github上的help. First : 安装:ubuntu 下,终端输入命令: sudo apt-get install git-core git-gui git-doc Next : 设置SSH Key 检查是否已经有SSH Key. $cd ~/.ssh 如果说没有这个目录,就直接看第三步 备份 生成一个新的SSH. $ssh-keygen -t rsa -C "email" 之后直接回车,不用填写东西.之后会让你输入密码.然后就生成一个目录.ssh ,里面有两个文件:id_

GitHub Git 简单操作

使用git更新GitHub 准备:本地已经安装好git 登录GitHub,选择好仓库,点击 Clone or download 拷贝地址 这里的地址为:https://github.com/edward0130/Coursera-ML.git 本地在要存放仓库的文件目录上点击右键: 进入bash页面: 下载仓库:git clone https://github.com/edward0130/Coursera-ML.git   下载仓库到本地目录 进入master: cd Coursera 删除目

github git.exe位置

C:\Users\yourname\AppData\Local\GitHub\PortableGit_69703d1db91577f4c666e767a6ca5ec50a48d243\bin\git.exe

Intellij IDEA 使用GitHub+Git

1.配置Git路径 打开Settings(File-->Settings) --> 在搜索栏内输入git,回车跳转到Git配置页面 --> 将git的运行路径填入Path to Git executable一栏(一般IDEA会自动定位),其他配置选项按默认即可 --> 点击Test进行测试,配置成功将显示如下界面 2.配置GitHub账户密码 同理,配置GitHub也是一样(没有GitHub帐号的朋友需要先去GItHub官网进行注册).在GitHub配置页面中,Host一栏填入gi