美文网首页
Git SSH Key 生成步骤和Git的简单使用

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

作者: 崔可一 | 来源:发表于2017-07-17 19:30 被阅读2050次

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 进行管理,比较方便灵活,适合多人开发团队。以上都是开发中遇见的指令,如果错误,请及时指出。

相关文章

网友评论

      本文标题:Git SSH Key 生成步骤和Git的简单使用

      本文链接:https://www.haomeiwen.com/subject/drsqkxtx.html