1.怎么添加远程库
2.克隆一个远程库
3.什么是分支管理
4.什么是标签管理
3.搭建git服务器

1.添加远程库。
我以github官网上提供给用户注册https://github.com/,可以在官网了自己新建一个repository为例,是免费,
当然后这个库是public,如果要private化是要付费的。

(1)进入github点击创建New respository  取名为“gitstudy”

(2)填写New respository 的Name,以及可选的相关描述,勾选“Initialize this repository with a README”选项,初始库的时建立一个README文件,
最后点击Create  respository


(3)点击账户设置,找“SSH and GPG keys” 下拉选项。点击“New SSH keys”” 添加本地主机的id_rsa.pub,这公钥用于github库与
服务与本地主机进行通信的,必选添加
a.在本地创建SSH keys”
ssh-keygen -t rsa -C "846200045@qq.com"  一路回车,将在家目录下.ssh目录生成id_rsa.pub和id_rsa

[root@www ~]# ssh-keygen -t rsa -C "846200045@qq.com"
Generating public/private rsa key pair.
Enter file in which to save the key (/root/.ssh/id_rsa):
Enter passphrase (empty for no passphrase):
Enter same passphrase again:
Your identification has been saved in /root/.ssh/id_rsa.
Your public key has been saved in /root/.ssh/id_rsa.pub.
The key fingerprint is:
9a:c5::1b:eb:f4::bb:::6e:8f:9d::: @qq.com
The key's randomart image is:
+--[ RSA ]----+
| *.. . . E |
| . O o . . |
| X . o |
| + X + . |
| o S . |
| + . |
| o |
| |
| |
+-----------------+
[root@www ~]# ls .ssh/
id_rsa id_rsa.pub
[root@www ~]#

id_rsa是私钥,不能泄露出去,id_rsa.pub是公钥,可以放心地告诉任何人。
b.第2步:登陆GitHub,打开“Account settings”,“SSH Keys”页面:
然后,点“Add SSH Key”,填上任意Title,在Key文本框里粘贴id_rsa.pub文件的内容.
c.最后,远程github服务就和本地主机可以进行通信了,当然下面就可以进行克隆一个远程库

2.克隆一个远程库
准备在本地主机克隆一份远程主机(默认远程主机名是origin)库
git clone git@github.com:autumn1023/gitstudy

[root@www ~]# git clone git@github.com:autumn1023/gitstudy            #其中autumn1023是在github的账号,gitstudy是新建的repository
Initialized empty Git repository in /root/gitstudy/.git/
The authenticity of host 'github.com (192.30.252.123)' can't be established.
RSA key fingerprint is ::ac:a5:::2d:::1b::4d:eb:df:a6:.
Are you sure you want to continue connecting (yes/no)? yes
Warning: Permanently added 'github.com,192.30.252.123' (RSA) to the list of known hosts.
remote: Counting objects: , done.
remote: Total (delta ), reused (delta ), pack-reused
Receiving objects: % (/), done.
[root@www ~]# ls gitstudy
README.md
[root@www ~]# ls -ld gitstudy
drwxr-xr-x. root root 6月 : gitstudy

到此从远程克隆一个库完成。

3 什么是分支管理
软件项目开发过程,由于是分阶段来做的,在没有开发完就提交给其他人,导致其他人其他人无法正常使用代理;
但是如果在项目开发完后一次性提交代码,又存在丢失每天进度的风险。
分支解决了这个问题,开发人员可以创建了一个属于自己的分支,别人看不到,
还继续在原来的分支上正常工作,而你在自己的分支上干活,想提交就提交;
直到开发完毕后,再一次性合并到原来的分支上,这样,既安全,又不影响别人工作。

(1)master分支和其他分支
在从远程克隆库的时候,默认带有一个master分支,也称为主分支。显示当前的所有分支及当前所在分支、创建其他分支方法
 
显示当前所有分支及当前所在分支,带有*这分支表示是当前所在分支
git branch
[root@www gitstudy]# git branch
* master

创建并切换到其他分支方法一:
git checkout -b branchname

[root@www gitstudy]# git checkout -b dev
Switched to a new branch 'dev'
[root@www gitstudy]# git branch
* dev
master

[root@www gitstudy]#
创建并切换到其他分支方法二:
git branch branchname
git checkout branchname

[root@www gitstudy]# git branch bug
[root@www gitstudy]# git checkout bug
Switched to branch 'bug'
[root@www gitstudy]# git branch
* bug
dev
master

[root@www gitstudy]#

(2) 解决分支之间的冲突
这分支的冲突是一个分支master在工作期间修改了文件;git add file;git commit -c “”
另外一个分支dev也在修改次文件;git add file;git committ -c
最后在在主分支上,准备和dev分支时,提示分支之间有冲突,无法合并。导致这个原因可能是两个分在修改文件的同一行,并且相似性很大,
结果不知道在合并的时候不知道以哪个分支为准。出现这情况可以先手动修改文件然后在提交。

3.标签管理。
Git的标签是版本库的快照,但其实它就是指向某个commit的指针(跟分支很像对不对?但是分支可以移动,标签不能移动),所以,创建和删除标签都是瞬间完成的。
我在用在git commit -m “” 以后都生成一个commit_id, 用git log命令可以查看,commit_id是很长的字符串,记起来很麻烦。
这个时候标签管理就很有很大的作用。

(1)给当前分支打标签
git branch  #查看当前所在的分支
git tag  tagname #给当前分支贴个标签
git tag      #查看当前的标签

[root@www gitstudy]# git tag v1.
[root@www gitstudy]# git tag
v1.

给历史上忘记打标签的分支贴标签
先用命令git log 或者git log --pretty=oneline --abbrev-commit查看没有打标签的历史版本的commit_id
git tag  tagname commi_id

[root@www gitstudy]# git log --pretty=oneline --abbrev-commit
5a63081 add &
22626a5 Initial commit git tag v0. 22626a5

(2)查看标签信息:

[root@www gitstudy]# git show v0.
commit 5a630814c69d212034ed0df61c70dc45cbe6faec
Author: root <root@www.test.com>
Date: Wed Jun :: + add & diff --git a/README.md b/README.md
index 88b8e37..b32ba89
--- a/README.md
+++ b/README.md
@@ -, +, @@
# gitstudy
-the respository of gitstudy
+the respository of & gitstudy

4.搭建git服务器
可以参考网站:http://www.liaoxuefeng.com/wiki/0013739516305929606dd18361248578c67b8067c8c017b000/00137583770360579bc4b458f044ce7afed3df579123eca000

git 命令02的更多相关文章

  1. crontab 不能执行git命令问题备忘

    这问题够隐蔽,折腾了近两个小时. 命令 git checkout tagname 手工执行都正常 但在crontab运行时发现分支一直切不过去. 后来告诉是crontab默认的 path  设置和系统 ...

  2. git命令使用方法

    git安装包 http://c35.yunpan.360.cn/my/?sid=#%2F%E5%AE%89%E8%A3%85%E5%8C%85%2FGit%E5%AE%89%E8%A3%85%2F g ...

  3. hg和git命令对照表

    hg和git命令对照表 来源 https://github.com/sympy/sympy/wiki/Git-hg-rosetta-stone Git hg rosetta stone   muxat ...

  4. 源代码管理之Git命令的使用

    目录 02.源代码管理之Git命令的使用 2.Git命令行演练-个人开发 2.1 如何学习git指令 2.2 初始化创建本地仓库 2.3 个人开发基本演练 2.4 Git的基本常识 3.Git命令行演 ...

  5. Git初探--笔记整理和Git命令详解

    几个重要的概念 首先先明确几个概念: WorkPlace : 工作区 Index: 暂存区 Repository: 本地仓库/版本库 Remote: 远程仓库 当在Remote(如Github)上面c ...

  6. 工作中常用的git命令

    一 常用Git命令 git clone:(区分SSH or HTTP) git init:初始化仓库 二 Git命令详解 Git Bash下,cd /c git clone,从远程Git版本库克隆一份 ...

  7. 常用 Git 命令清单

    我每天使用 Git ,但是很多命令记不住. 一般来说,日常使用只要记住下图6个命令,就可以了.但是熟练使用,恐怕要记住60-100个命令. 下面是我整理的常用 Git 命令清单.几个专用名词的译名如下 ...

  8. 常look的Git命令

    常用的Git命令   命令  简要说明 git add 添加至暂存区 git add–interactive 交互式添加 git apply   应用补丁 git am  应用邮件格式补丁 git a ...

  9. ***Linux下使用git命令及github项目

    在linux下搭建git环境1.创建Github账号,https://github.com2.Linux创建SSH密钥: ssh-keygen  ##一直默认就可以了 3.将公钥加入到Github账户 ...

随机推荐

  1. 浮动的div无论窗口大小变化都能居中显示的js

    当div是浮动的时候浏览器窗口发生变化的时候不能居中显示(因为浮动的时候一般设定的有left或者right值) 可以先用jquery获取外围的div随浏览器变化而变化的宽度(加上监听事件) 之后再获取 ...

  2. LeetCode解题报告—— Swap Nodes in Pairs & Divide Two Integers & Next Permutation

    1. Swap Nodes in Pairs Given a linked list, swap every two adjacent nodes and return its head. For e ...

  3. 数据库之各种键(Key)

    超键(super key):在关系中能唯一标识元组的属性集称为关系模式的超键候选键(candidate key):不含有多余属性的超键称为候选键主键(primary key):用户选作元组标识的一个候 ...

  4. vue利用watch侦听对象具体的属性 ~ 巧用计算属性computed做中间层

    有时候需要侦听某个对象具体的属性,可以按下面案例进行: <template> <div> <input type="text" v-model=&qu ...

  5. AC日记——「SCOI2016」幸运数字 LiBreOJ 2013

    「SCOI2016」幸运数字 思路: 线性基: 代码: #include <bits/stdc++.h> using namespace std; #define maxn 20005 # ...

  6. WebDriver自动化测试工具(3)---PhantomJS的使用

    PhantomJS是一个基于webkit的javascript API.它使用QtWebKit作为它核心浏览器的功能,使用webkit来编译解释执行JavaScript代码.任何你可以在基于webki ...

  7. ajaxReturn 之前dump调试,导致$.ajax不能正常运行

    ajaxReturn 之前dump调试,导致$.ajax不能正常运行 以后调试的时候,注意下这个情况

  8. 用Fiddler进行弱网测试

    1.作为一个好的程序猿,不但要写一手高质量的代码,而且要学会用高质量的测试工具测试自己的代码效果,接下来给大家推荐一下:用Fiddler进行弱网环境下的测试,请不要忽略这一点,因为用户在网速慢的情况下 ...

  9. Mindjet Mindmanager复制文件打不开

    概述 使用Mindjet软件画思维导图,保存后得到一个后缀为mmap的文件.复制到一个新的位置,却发现新的文件打不开,导致Mindjet崩溃.这里提供一个解决方案. 解决方案 复制的文件打不开 先打开 ...

  10. 并发系列5-大白话聊聊Java并发面试问题之微服务注册中心的读写锁优化【石杉的架构笔记】