git 命令02

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 "[email protected]"  一路回车,将在家目录下.ssh目录生成id_rsa.pub和id_rsa

[[email protected] ~]# ssh-keygen -t rsa -C "[email protected]"
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:10:1b:eb:f4:50:bb:10:31:6e:8f:9d:17:46:77 846200045@qq.com
The key‘s randomart image is:
+--[ RSA 2048]----+
|      *.. . . E  |
|     . O o . .   |
|      X . o      |
|     + X + .     |
|      o S .      |
|       + .       |
|      o          |
|                 |
|                 |
+-----------------+
[[email protected] ~]# ls .ssh/
id_rsa  id_rsa.pub
[[email protected] ~]#

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 [email protected]:autumn1023/gitstudy

[[email protected] ~]# git clone [email protected]: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 16:27:ac:a5:76:28:2d:36:63:1b:56:4d:eb:df:a6:48.
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: 3, done.
remote: Total 3 (delta 0), reused 0 (delta 0), pack-reused 0
Receiving objects: 100% (3/3), done.
[[email protected] ~]# ls gitstudy
README.md
[[email protected] ~]# ls -ld gitstudy
drwxr-xr-x. 3 root root 4096 6月   1 17:52 gitstudy

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

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

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

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

[[email protected] gitstudy]# git checkout -b dev
Switched to a new branch ‘dev‘
[[email protected] gitstudy]# git branch
* dev
  master

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

[[email protected] gitstudy]# git branch bug
[[email protected] gitstudy]# git checkout bug
Switched to branch ‘bug‘
[[email protected] gitstudy]# git branch
* bug
  dev
  master

[[email protected] 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      #查看当前的标签

[[email protected] gitstudy]# git tag v1.0
[[email protected] gitstudy]# git tag
v1.0

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

[[email protected] gitstudy]# git log --pretty=oneline --abbrev-commit
5a63081 add &
22626a5 Initial commit

git tag v0.2  22626a5

(2)查看标签信息:

[[email protected] gitstudy]# git show v0.2
commit 5a630814c69d212034ed0df61c70dc45cbe6faec
Author: root <[email protected]>
Date:   Wed Jun 1 18:30:41 2016 +0800

    add &

diff --git a/README.md b/README.md
index 88b8e37..b32ba89 100644
--- a/README.md
+++ b/README.md
@@ -1,2 +1,2 @@
 # gitstudy
-the respository of  gitstudy
+the respository of &  gitstudy

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

时间: 2024-10-07 15:17:38

git 命令02的相关文章

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

这问题够隐蔽,折腾了近两个小时. 命令 git checkout tagname 手工执行都正常 但在crontab运行时发现分支一直切不过去. 后来告诉是crontab默认的 path  设置和系统自身的有区别 git 命令放在 /usr/local/bin/ 目录 而crontab 却在  /sbin:/bin:/usr/sbin:/usr/bin 这几个目录下找,当然运行不了 git 命令了 目前解决办法是手工添加git路径前辍 /usr/local/bin/git checkout ta

hg和git命令对照表

hg和git命令对照表 来源 https://github.com/sympy/sympy/wiki/Git-hg-rosetta-stone Git hg rosetta stone muxator edited this page on 10 Mar 2017 · 50 revisions The sympy git server is at https://github.com/sympy/sympy . The main Sympy repository may be cloned wi

git 命令 查看历史提交 git log

怎么理解git commit 命令 git commit 相当于 我们虚拟机快照操作,每次执行commit命令 相当于对本地仓库做一次快照,保存了当时仓库的状态, git commit -m 加上的""参数相当于给这次快照做一个备注,这个备注操作什么. 在命令行,怎么查看有哪些快照? 使用git log命令 查看历史提交 git log 当我们在仓库里做了很多次提交之后,免不了需要回看提交记录,看看自己之前的改动.有两种 Git 命令可以帮我们查看记录, git log 是最直接的查看

windows下git命令的使用

一.写在前面 关于git,出于自己的爱好,前段时间玩了一下,也自己上网查了一下资料,现简单记录一下,以备查看. 当然,本文并不是介绍配置git服务器的文章,而是以github服务器作为git的远程仓库服务器. 二.安装 windows下使用git,需要安装msysGit,下载地址是https://code.google.com/p/msysgit/downloads/list; 安装完成后,在安装目录下,有个msys.bat文件,这个就是msysGit提供的命令行客户端: 当然就像svn一样,也

常用 Git 命令清单

我每天使用 Git ,但是很多命令记不住. 一般来说,日常使用只要记住下图6个命令,就可以了.但是熟练使用,恐怕要记住60-100个命令. 下面是我整理的常用 Git 命令清单.几个专用名词的译名如下. Workspace:工作区 Index / Stage:暂存区 Repository:仓库区(或本地仓库) Remote:远程仓库 一.新建代码库 # 在当前目录新建一个Git代码库 $ git init # 新建一个目录,将其初始化为Git代码库 $ git init [project-nam

Git命令执行漏洞

Git命令造成的反弹shell 漏洞描述: Git LFS可以.lfsconfig使用LFS由存储库中的文件配置(部分),并且可以将Git LFS指向ssh://. [lfs] url = ssh://-oProxyCommand= some-command 当使用这样的.lfsconfig文件克隆存储库时,使用LFS插件的Git将尝试调用ssh以从主机获取LFS对象 -oProxyCommand=some-command.然而,SSH会将该主机名解释为一个-o选项,并随后尝试调用some-co

git命令行使用

1. git命令行配置 1)安装完git客户端之后,在任意目录右键鼠标,选择Git GUI Here 2)在打开的窗口中依次选择Help->> Show SSH Key 2)如果弹出的窗口中中间部分没有key,可以点击 Generate Key 按钮,生成key,然后将生成的key拷贝一下,添加到gitlab中即可. 2. 命令使用 1)下载代码 在存放代码的目录中,右键鼠标,选择 Git Bash Here,然后会打开终端窗口 输入: git init   创建git配置目录 输入下面命令,

常用 Git 命令清单 转

我每天使用 Git ,但是很多命令记不住. 一般来说,日常使用只要记住下图6个命令,就可以了.但是熟练使用,恐怕要记住60-100个命令. 下面是我整理的常用 Git 命令清单.几个专用名词的译名如下. Workspace:工作区 Index / Stage:暂存区 Repository:仓库区(或本地仓库) Remote:远程仓库 一.新建代码库 # 在当前目录新建一个Git代码库 $ git init # 新建一个目录,将其初始化为Git代码库 $ git init [project-nam

常用 Git 命令清单【转】

转自:http://www.ruanyifeng.com/blog/2015/12/git-cheat-sheet.html 作者: 阮一峰 日期: 2015年12月 9日 我每天使用 Git ,但是很多命令记不住. 一般来说,日常使用只要记住下图6个命令,就可以了.但是熟练使用,恐怕要记住60-100个命令. 下面是我整理的常用 Git 命令清单.几个专用名词的译名如下. Workspace:工作区 Index / Stage:暂存区 Repository:仓库区(或本地仓库) Remote: