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

  • 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 : 添加某个指定文件到缓存区。

在 git 2.0版本之后,git add . 和 git add -A 是一样的效果。
3、git commit -m “xxxxxx”
此命令用于给提交添加注释,使用git log指令即可查看每次commit的注释了。
4、git pull 和 git push

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

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 : 创建一个新的本地分支
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 :在url创建名字为name的仓库,name为远程仓库的名字。
8、git checkout
迁出一个分支的特定版本。默认是迁出分支的HEAD版本。
git checkout master:取出master版本的head。
git checkout :放弃对xx分支的xx文件的修改,如果是当前分支,可以省略。
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 进行管理,比较方便灵活,适合多人开发团队。以上都是开发中遇见的指令,如果错误,请及时指出。

作者:崔可一
链接:https://www.jianshu.com/p/29b1963f29c1
來源:简书
简书著作权归作者所有,任何形式的转载都请联系作者获得授权并注明出处。

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值