Linux:创建 git 仓库并链接到本地(含:基础操作命令)

  • Post author:
  • Post category:linux





创建 git 仓库

首先, 先在 github 网站注册账号

https://github.com

然后创建一个项目:Create a new repository

在这里插入图片描述

之后在在 Repository name 填入 ZXTabBarController(你的远程仓库名) ,其他保持默认设置,

点击”Create repository”按钮,就成功地创建了一个新的Git仓库:

在这里插入图片描述



github 链接并克隆到本地

打开终端进入你的文件目录

ssh-keygen -t rsa -C "zhouxihi@aliyun.com"

改为你在 github 上注册的邮箱,之后会要求确认路径和输入密码,我们这使用默认的一路回车就行。

成功的话会在~/下生成.ssh文件夹,

在这里插入图片描述

进去,打开 id_rsa.pub,复制里面的 key

vim /Users/jackey/.ssh/id_rsa.pub 

复制里面的所有内容, 然后回到github网页选择setting

在这里插入图片描述

进入settings后选择SSH and GPG keys

在这里插入图片描述

选择New SSH Key

在这里插入图片描述

输入完title和key后选择Add SSH key按钮完成添加

现在回到终端, 测试下是否能连接到github服务器

ssh -T git@github.com

看到这样的提示就说明设置好了

apple@AppledeMacBook-Pro ~ % ssh -T git@github.com
Hi Angelsufeiya! You've successfully authenticated, but GitHub does not provide shell access.



提交本地文件到远程仓库

  1. 首先初始化本地仓库
git init
  1. 把文件添加到本地版本库中,使用命令git add 文件:添加到暂存区里面去,如果后面接小数点“.”,意为添加文件夹下的所有文件
git add .
  1. 用命令 git commit告诉Git,把文件提交到仓库。引号内为提交说明
git commit -m 'first upload'
  1. 添加远程仓库
git remote add origin git@github.com:zhouxihi/ZXTabBarController.git
  1. 推送文件到远程仓库
git push -u origin master

显示100%. done就可以了

bogon:ZXTabBarController jackey$ git push -u origin master
Counting objects: 57, done.
Delta compression using up to 4 threads.
Compressing objects: 100% (51/51), done.
Writing objects: 100% (57/57), 86.20 KiB | 0 bytes/s, done.
Total 57 (delta 14), reused 0 (delta 0)
remote: Resolving deltas: 100% (14/14), done.
To git@github.com:zhouxihi/ZXTabBarController.git
 * [new branch]      master -> master
Branch master set up to track remote branch master from origin.

以后每次有修改本地文件就只要下面三个步骤就可以推送到服务器了

/* 将文件添加到暂存区 */
apple@AppledeMacBook-Pro Linux % git add /Users/apple/Linux

/* 提交本次修改 */
apple@AppledeMacBook-Pro Linux % git commit -m "Linux"
[master 2c1f4af] Linux
 8 files changed, 438 insertions(+), 3 deletions(-)
 create mode 100755 Linux/hello
 create mode 100644 Linux/hello.c
 create mode 100755 Linux/test
 create mode 100644 Linux/test.c
 create mode 100644 Linux/vimrc
 create mode 100644 Linux/wujidong
 create mode 100644 Linux/wujidong.pub

 /* 推送到远程仓库 */
apple@AppledeMacBook-Pro Linux % git push -u origin master
枚举对象: 14, 完成.
对象计数中: 100% (14/14), 完成.
使用 4 个线程进行压缩
压缩对象中: 100% (10/10), 完成.
写入对象中: 100% (11/11), 9.94 KiB | 4.97 MiB/s, 完成.
总共 11(差异 1),复用 0(差异 0),包复用 0
remote: Resolving deltas: 100% (1/1), done.
To github.com:Angelsufeiya/Linux.git
   68f638a..2c1f4af  master -> master
分支 'master' 设置为跟踪来自 'origin' 的远程分支 'master'



git 常用操作

// 账号密码克隆远程项目

  • git clone http://账号:密码@项目地址

// 查看当前状态

  • git status

// 查看修改内容

  • git diff

// 添加并提交

  • git add .
  • git commit -m ‘注释内容’

// 推送到远程分支

  • git push origin 分支名

// 拉取远程代码(更新本地代码)

  • git pull origin 分支名

// 查看历史提交

  • git log

// 回退到某个版本

  • git reset –hard 版本号

// 回退到历史版本后,想查看之前的版本

  • git reflog

// 远程代码强制覆盖本地代码(三步走)

  • git fetch –all
  • git reset –hard origin/master
  • git pull

// 本地代码强制覆盖远程代码

  • git push origin 分支名 -f

// 切换分支

  • git checkout 分支名

// 生成分支并切换到新分支

  • git checkout -b 新分支名

// 主分支a合并分支b

  • git checkout a
  • git pull // 更新a分支代码
  • git checkout b
  • git pull // 更新b分支代码
  • git merge a // b分支先合并a分支
  • git checkout a
  • git merge b // a 分支载合并b

如有不同见解,欢迎留言讨论~~



版权声明:本文为AngelDg原创文章,遵循 CC 4.0 BY-SA 版权协议,转载请附上原文出处链接和本声明。