Git SSH Key 生成步骤和Git的简单使用

Git 是分布式的代码管理工具,远程的代码管理基于SSH的,配置SSH的步骤如下:

一、设置Git的user name和email:

$ git config --global user.name "xxx"
$ git config --global user.email "aaa.bbb@xxx.com"

二、生成SSH密钥过程:

1、查看是否已经有了ssh密钥:
$ cd ~/.ssh
$ ls
2、生成密钥:
$ ssh-keygen -t rsa -C "aaa.bbb@xxx.com"

按三个回车,密码为空。

Your identification has been saved in /home/tekkub/.ssh/id_rsa.
Your public key has been saved in /home/tekkub/.ssh/id_rsa.pub.
The key fingerprint is: ...........

最后得到了两个文件:id_rsa和id_rsa.pub

3、添加密钥到ssh:

ssh-add 文件名,需要之前输入的密码。

ssh-add id_rsa
4、在git上添加密钥,需要添加到git上的是id_rsa.pub,此时登录账号,即可clone,pull,push代码了。

Git的简单使用

1、设置别名

设置别名可以是git命令变得简单一些,个人习惯常用的别名如下:

$ git config --global alias.cm commit
$ git config --global alias.st status
$ git config --global alias.ck checkout
$ git config --global alias.br branch

2、git add

git add指令分为git add -A ,git add -u,git add .和git add <fileName>

- git add . : 他会监控工作区的状态树,使用它会把工作时的所有变化提交到暂存区,包括文件内容修改(modified)以及新文件(new),但不包括被删除的文件(git v1.0)。
- git add -u : 他仅监控已经被add的文件(即tracked file),他会将被修改的文件提交到暂存区。add -u 不会提交新文件(untracked file)。(git add --update的缩写)
- 是上面两个功能的合集(git add --all的缩写)
- git add <fileName> : 添加某个指定文件到缓存区。

在 git 2.0版本之后,git add . 和 git add -A 是一样的效果。

3、git commit -m "xxxxxx"

此命令用于给提交添加注释,使用git log指令即可查看每次commit的注释了。

4、git pull 和 git push

  • git pull origin <branch>: 相当于git fetch + git merge,拉取远程分支并merge。
  • git pull --rebase : 相当于git fetch + git rebase,拉取远程分支并进行rebase操作。
  • git push origin <branch>:将本地缓存推送到远程分支。

5、git merge 和 git rebase 的区别

举个例子:
A和B两个人进行合作开发,同时在develop分支上开启各自的功能分支featureA和featureB进行开发,A在10:00提交了A1,12:00提交了A2,16:00提交了A3,并且合并到develop分支,此时develop分支状态为:

Head -> A1 -> A2 -> A3

而B则分别在9:00提交了B1,在11:00提交了B2,在17:00提交了B3,此时对于B来说,合并到develop分支有两种方式,使用rebase和merge。

// 根据提交的先后顺序进行排序
merge : Head -> B1 -> A1 -> B2 -> A2 -> A3 -> B3
// 根据提交的先后进行排序
rebase: Head -> A1 -> A2 -> A3 -> B1 -> B2 -> B3

6、git branch

列出本地已经存在的分支,并且在当前分支的前面加“*”号标记。
git branch -r : 列出远程分支
git branch -a: 列出本地分支和远程分支
git branch <name>: 创建一个新的本地分支
git branch -m oldbranch newbranch: 重命名分支
git branch -d branchname: 删除本地分支
git push origin --delete branchname:删除远程分支

7、git remote

列出已经存在的远程分支
git remote -v: 列出详细信息,在每一个名字后面列出其远程url

origin  git@172.17.0.18:iOS/ttgenwomai_certificates.git (fetch)
origin  git@172.17.0.18:iOS/ttgenwomai_certificates.git (push)

git remote add <name> <url>:在url创建名字为name的仓库,name为远程仓库的名字。

8、git checkout

迁出一个分支的特定版本。默认是迁出分支的HEAD版本。
git checkout master:取出master版本的head。
git checkout <branchname> <filename>:放弃对xx分支的xx文件的修改,如果是当前分支,<branchname>可以省略。
git checkout .: 放弃所有的修改。

9、git stash 和 git pop

git stash:是备份当前的工作区的内容,从最近的一次提交中读取相关内容,让工作区保证和上次提交的内容一致。同时,将当前的工作区内容保存到Git栈中。
git stash pop:从Git栈中读取最近一次保存的内容,恢复工作区的相关内容。由于可能存在多个Stash的内容,所以用栈来管理,pop会从最近的一个stash中读取内容并恢复。
git stash list:显示Git栈内的所有备份,可以利用这个列表来决定从那个地方恢复。
git stash clear:清空Git栈。此时使用gitg等图形化工具会发现,原来stash的哪些节点都消失了。

10、tag

//  列出本地tag
$ git tag

// 添加tag
$ git tag -a v0.1.2 -m “0.1.2版本”

// 切换到tag的位置
$ git checkout -b [branch] [tagname]

// 删除tag
$ git tag -d [tagname]

// 推tag
$ git push origin –tags
$ git push origin [tagname]


关于git开发过程中,推荐使用git flow 进行管理,比较方便灵活,适合多人开发团队。以上都是开发中遇见的指令,如果错误,请及时指出。

最后编辑于
©著作权归作者所有,转载或内容合作请联系作者
  • 序言:七十年代末,一起剥皮案震惊了整个滨河市,随后出现的几起案子,更是在滨河造成了极大的恐慌,老刑警刘岩,带你破解...
    沈念sama阅读 202,529评论 5 475
  • 序言:滨河连续发生了三起死亡事件,死亡现场离奇诡异,居然都是意外死亡,警方通过查阅死者的电脑和手机,发现死者居然都...
    沈念sama阅读 85,015评论 2 379
  • 文/潘晓璐 我一进店门,熙熙楼的掌柜王于贵愁眉苦脸地迎上来,“玉大人,你说我怎么就摊上这事。” “怎么了?”我有些...
    开封第一讲书人阅读 149,409评论 0 335
  • 文/不坏的土叔 我叫张陵,是天一观的道长。 经常有香客问我,道长,这世上最难降的妖魔是什么? 我笑而不...
    开封第一讲书人阅读 54,385评论 1 273
  • 正文 为了忘掉前任,我火速办了婚礼,结果婚礼上,老公的妹妹穿的比我还像新娘。我一直安慰自己,他们只是感情好,可当我...
    茶点故事阅读 63,387评论 5 364
  • 文/花漫 我一把揭开白布。 她就那样静静地躺着,像睡着了一般。 火红的嫁衣衬着肌肤如雪。 梳的纹丝不乱的头发上,一...
    开封第一讲书人阅读 48,466评论 1 281
  • 那天,我揣着相机与录音,去河边找鬼。 笑死,一个胖子当着我的面吹牛,可吹牛的内容都是我干的。 我是一名探鬼主播,决...
    沈念sama阅读 37,880评论 3 395
  • 文/苍兰香墨 我猛地睁开眼,长吁一口气:“原来是场噩梦啊……” “哼!你这毒妇竟也来了?” 一声冷哼从身侧响起,我...
    开封第一讲书人阅读 36,528评论 0 256
  • 序言:老挝万荣一对情侣失踪,失踪者是张志新(化名)和其女友刘颖,没想到半个月后,有当地人在树林里发现了一具尸体,经...
    沈念sama阅读 40,727评论 1 295
  • 正文 独居荒郊野岭守林人离奇死亡,尸身上长有42处带血的脓包…… 初始之章·张勋 以下内容为张勋视角 年9月15日...
    茶点故事阅读 35,528评论 2 319
  • 正文 我和宋清朗相恋三年,在试婚纱的时候发现自己被绿了。 大学时的朋友给我发了我未婚夫和他白月光在一起吃饭的照片。...
    茶点故事阅读 37,602评论 1 329
  • 序言:一个原本活蹦乱跳的男人离奇死亡,死状恐怖,灵堂内的尸体忽然破棺而出,到底是诈尸还是另有隐情,我是刑警宁泽,带...
    沈念sama阅读 33,302评论 4 318
  • 正文 年R本政府宣布,位于F岛的核电站,受9级特大地震影响,放射性物质发生泄漏。R本人自食恶果不足惜,却给世界环境...
    茶点故事阅读 38,873评论 3 306
  • 文/蒙蒙 一、第九天 我趴在偏房一处隐蔽的房顶上张望。 院中可真热闹,春花似锦、人声如沸。这庄子的主人今日做“春日...
    开封第一讲书人阅读 29,890评论 0 19
  • 文/苍兰香墨 我抬头看了看天上的太阳。三九已至,却和暖如春,着一层夹袄步出监牢的瞬间,已是汗流浃背。 一阵脚步声响...
    开封第一讲书人阅读 31,132评论 1 259
  • 我被黑心中介骗来泰国打工, 没想到刚下飞机就差点儿被人妖公主榨干…… 1. 我叫王不留,地道东北人。 一个月前我还...
    沈念sama阅读 42,777评论 2 349
  • 正文 我出身青楼,却偏偏与公主长得像,于是被迫代替她去往敌国和亲。 传闻我的和亲对象是个残疾皇子,可洞房花烛夜当晚...
    茶点故事阅读 42,310评论 2 342

推荐阅读更多精彩内容