git入门

1.生成ssh密匙

$ ssh-keygen -t rsa -C "your_email@youremail.com" 

其中your_email,youremail更改成自己的邮箱名,可以随便写。
连按三个Enter键,选择默认存储密匙的路径。
在这里插入图片描述$cd ~/.ssh
在这里插入图片描述复制id_rsa.pub的内容,切换到github网站,进入setting设置选项,点击SSH and GPG keys,然后点击New SSH key,粘贴id_rsa.pub的内容。保存
在这里插入图片描述切换到命令行终端,测试输入如下命令:

$ ssh -T git@github.com

出现如下结果则说明电脑和远程仓库连接成功:

$Hi chaoshuaihaohao! You've successfully authenticated, but GitHub does not provide shell access.

在这里插入图片描述

2.在github网站上创建一个项目
在这里插入图片描述点击new:
在这里插入图片描述创建项目:
在这里插入图片描述3.本地创建一个目录或者用git clone命令产生一个文件夹。比如:my_github。

$git clone https://github.com/chaoshuaihaohao/Linux0.12-x6818.git

然后cd到此目录下,执行如下命令:

$echo "# gobang" >> README.md
$git init
$git add README.md
$git commit -m "first commit"
$git remote add origin git@github.com:chaoshuaihaohao/gobang.git
$git push -u origin master

4.工作流
你的本地仓库由 git 维护的三棵"树"组成。第一个是你的 工作目录,它持有实际文件;第二个是 暂存区(Index),它像个缓存区域,临时保存你的改动;最后是 HEAD,它指向你最后一次提交的结果。

你可以提出更改(把它们添加到暂存区),使用如下命令:
git add
git add *
这是 git 基本工作流程的第一步;使用如下命令以实际提交改动:
git commit -m “代码提交信息”
现在,你的改动已经提交到了 HEAD,但是还没到你的远端仓库。

4.1删除GitHub上上传的文件方法:
1.在你的本地目录下手动删除你要删除的东西
2.在客户端输入:git commit -a -m “A file was deleted”
3.在客户端:git push
即可删除github上上传的文件!

5.推送改动
你的改动现在已经在本地仓库的 HEAD 中了。执行如下命令以将这些改动提交到远端仓库:
git push origin master
可以把 master 换成你想要推送的任何分支。

如果你还没有克隆现有仓库,并欲将你的仓库连接到某个远程服务器,你可以使用如下命令添加:
git remote add origin
如此你就能够将你的改动推送到所添加的服务器上去了。

6.分支
分支是用来将特性开发绝缘开来的。在你创建仓库的时候,master 是"默认的"分支。在其他分支上进行开发,完成后再将它们合并到主分支上。
branches

查看当前分支命令:

$git branch
  2018/11
* master

切换分支命令:

$git checkout <要切换的分支名>
Switched to branch <要切换的分支名>

git branch命令会列出所有分支,当前分支前面会标记一个*号。

创建一个叫做"feature_x"的分支,并切换过去:

$git checkout -b feature_x

切换回主分支:

$git checkout master

再把新建的分支删掉:

$git branch -d feature_x

除非你将分支推送到远端仓库,不然该分支就是 不为他人所见的:

$git push origin <branch> 

7.更新与合并
要更新你的本地仓库至最新改动,执行:

$git pull

以在你的工作目录中 获取(fetch) 并 合并(merge) 远端的改动。
要合并其他分支到你的当前分支(例如 master),执行:
git merge
在这两种情况下,git 都会尝试去自动合并改动。遗憾的是,这可能并非每次都成功,并可能出现冲突(conflicts)。 这时候就需要你修改这些文件来手动合并这些冲突(conflicts)。改完之后,你需要执行如下命令以将它们标记为合并成功:
git add
在合并改动之前,你可以使用如下命令预览差异:
git diff <source_branch> <target_branch>

8.标签
为软件发布创建标签是推荐的。这个概念早已存在,在 SVN 中也有。你可以执行如下命令创建一个叫做 1.0.0 的标签:
git tag 1.0.0 1b2e1d63ff
1b2e1d63ff 是你想要标记的提交 ID 的前 10 位字符。可以使用下列命令获取提交 ID:
git log
你也可以使用少一点的提交 ID 前几位,只要它的指向具有唯一性。

9.替换本地改动
假如你操作失误(当然,这最好永远不要发生),你可以使用如下命令替换掉本地改动:
git checkout –
此命令会使用 HEAD 中的最新内容替换掉你的工作目录中的文件。已添加到暂存区的改动以及新文件都不会受到影响。

假如你想丢弃你在本地的所有改动与提交,可以到服务器上获取最新的版本历史,并将你本地主分支指向它:
git fetch origin
git reset --hard origin/master

10.实用小贴士
远程仓库的名字是origin,本地的是master,一般我们是不能在master上直接操作的,需要建一个分支,在分支上操作,最后在合并到master并推送到远程origin上

内建的图形化 git:
gitk
彩色的 git 输出:
git config color.ui true
显示历史记录时,每个提交的信息只显示一行:
git config format.pretty oneline
交互式添加文件到暂存区:
git add -i

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

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

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

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值