Git、GitHub

简介: 安装gitMac:https://sourceforge.net/projects/git-osx-installer/Windows:https://git-for-windows.

安装git

Mac:https://sourceforge.net/projects/git-osx-installer/
Windows:https://git-for-windows.github.io/
Linux:sudo apt-get install git

命令(都要以git开头)

  1. 检验是否安装git
img_097991add07803def2b2066b4298ab3c.png
image.png
  1. 第一步,我们先新建一个文件夹,在文件夹里新建一个文件
    1.mkdir test 新建一个test目录
    2.cd test 进入到test目录
    3.touch a.md 新建a.md文件
img_b79925c87ab3d1339549a30b2d023ca9.png
image.png
  1. 初始化git仓库
img_748001ad883fabb57cd1eeeedb72f5ee.png
image.png
  1. git status(查看状态)
img_5129830664a15ff8a91a19310ea30a4b.png
image.png
  1. git add 文件名.md(提交文件)提交后输入git status
img_957472b746b4959fab89ef0fd6c70b6b.png
image.png
  • 此时可以输入git rm --cached 这个命令去移除这个缓存。
  1. git commit
  • 输入git commit -m 'first commit'
  • commit 是提交的意思,-m 代表是提交信息,执行了以上命令代表我们已经正式进行了第一次提交。
img_bf6fd26f7ca43ae9039b40b59246c3e9.png
image.png
  • 在输入git status 查看
img_bf6fd26f7ca43ae9039b40b59246c3e9.png
image.png
  1. git log
  • git log 命令可以查看所有产生的 commit 记录,所以可以看到已经产生了一条 commit 记录,而提交时候的附带信息叫 'first commit' 。


    img_3c4d2cd1227e17f5b0e29078b7db3287.png
    image.png
  1. git add 和 git commit

疑问?
我想要提交直接进行 commit 不就行了么,为什么先要再 add 一次呢?首先 git add 是先把改动添加到一个「暂存区」,你可以理解成是一个缓存区域,临时保存你的改动,而 git commit 才是最后真正的提交。这样做的好处就是防止误提交。

  1. git branch(查看当下分支情况)

branch 即分支的意思,分支的概念很重要,尤其是团队协作的时候,假设两个人都在做同一个项目,这个时候分支就是保证两人能协同合作的最大利器了。举个例子,A, B俩人都在做同一个项目,但是不同的模块,这个时候A新建了一个分支叫a, B新建了一个分支叫b,这样A、B做的所有代码改动都各自在各自的分支,互不影响,等到俩人都把各自的模块都做完了,最后再统一把分支合并起来。

img_f39ff86a74f8d7d2344625429e7bb04f.png
image.png
  1. git branch a 就新建了一个名字叫 a 的分支,输入git branch查看分支情况
img_b02edf8786cf9dd16c7f0d44ad1b56a5.png
image.png
  1. git checkout a(切换至a分支)
img_2902184a42602eb5fa2160effc01f4fc.png
image.png
  1. git checkout -b a(新建a分支并且切换至a)
img_0f011b44c790e0e0e9bb41a5b4c067d9.png
image.png
  1. git branch -d a(删除分支a)git branch -D(强制删除)
img_9b88cc6f8833f1ac5d80b5049d1d0521.png
image.png
  1. git merge(合并到主分支master上)
  • 首先切换至master (git checkout master)
img_2a8d5418784e341ed681f0906bee3a97.png
image.png
  • 执行 git merge a 进行合并
img_a95dfcee8b89f6ff02b9fbbb245a5fb4.png
image.png
  1. git tag(查看标签)git tag v1.0 (新建v1.0标签)
img_050420d70046551ecdbe5d64cbde445e.png
image.png
  1. git checkout v1.0切换至1.0标签

向GitHub仓库提交代码

  1. SSH
  • 概念:

简单点说,SSH是一种网络协议,用于计算机之间的加密登录。目前是每一台 Linux 电脑的标准配置。而大多数 Git 服务器都会选择使用 SSH 公钥来进行授权,所以想要在 GitHub 提交代码的第一步就是要先添加 SSH key 配置。

  1. 生成SSH key

Linux 与 Mac 都是默认安装了 SSH ,而 Windows 系统安装了 Git Bash 应该也是带了 SSH 的。大家可以在终端(win下在 Git Bash 里)输入 ssh 如果出现以下提示证明你本机已经安装 SSH, 否则请搜索自行安装下。

img_caad1250caf920553f8bbe495a5daa7a.png
image.png

紧接着输入 ssh-keygen -t rsa ,什么意思呢?就是指定 rsa 算法生成密钥,接着连续三个回车键(不需要输入密码),然后就会生成两个文件 id_rsa 和 id_rsa.pub ,而 id_rsa 是密钥,id_rsa.pub 就是公钥。这两文件默认分别在如下目录里生成:
Linux/Mac 系统 在 ~/.ssh 下,win系统在 /C/Documents and Settings/username/.ssh 下,都是隐藏文件。
接下来要做的是把 id_rsa.pub 的内容添加到 GitHub 上,这样你本地的 id_rsa 密钥跟 GitHub 上的 id_rsa.pub 公钥进行配对,授权成功才可以提交代码。

img_9985a41e935c05d51e92b1b107514c11.png
image.png
  1. GitHub 上添加 SSH key
    1.首先点击设置->SSH和GPG密匙->新的SSH密匙


    img_cf1f63401aa56763fab4a42ac396b5a9.png
    image.png
img_4e8417a7fc8bcb8ce00e9fa9f5ba27ba.png
image.png

2.查看 id_rsa.pub 文件

Linux/Mac 用户执行以下命令:
cd ~/.ssh
cat id_rsa.pub
Windows用户,设置显示隐藏文件,可以使用 EditPlus 或者 Sublime 打开复制就行了。

img_053750c8db3cd0f1041ad56b2c49e75c.png
image.png

3.配置密匙(GPG不用理会)

img_6e6e1e6e8deaa52be516b455d55a4d21.png
image.png
  1. Push & Pull

Push :直译过来就是「推」的意思,什么意思呢?如果你本地代码有更新了,那么就需要把本地代码推到远程仓库,这样本地仓库跟远程仓库就可以保持同步了。
代码示例: git push origin master
意思就是把本地代码推到远程 master 分支。
Pull:直译过来就是「拉」的意思,如果别人提交代码到远程仓库,这个时候你需要把远程仓库的最新代码拉下来,然后保证两端代码的同步。
代码示例: git pull origin master
意思就是把远程最新的代码更新到本地。一般我们在 push 之前都会先 pull ,这样不容易冲突。

  1. 提交代码
    1.Clone自己的项目

首先查到自己的仓库地址

img_41f03c2abcd8691f08327820c9ca207e.png
image.png

在终端中输入
git clone git https://github.com/PersistXL/test2.git
https://github.com/PersistXL/test2.git(是你刚才复制的地址)

2.终端进入你刚才clone的项目名下(cd test2

刚才Clone的项目本就是一个git仓库所以不需要初始化仓库的操作(也就是git init

3.你现在可以对你Clone的项目进行修改或者添加了,添加完成后

  • 输入下面的代码进行添加到本地仓库
    git add a.md

4.现在就可以提交到本地了

  • 输入下面的代码提交到本地仓库
    git commit -m 'first commit'
    first commit 为你第几次提交的名称,自定义,方便以后在远程仓库查看修改时哪里出了问题

5.现在可以提交到远程仓库了

  • 输入以下命令关联到远程仓库中
    git push origin master

img_e7a265ec20220e30981353cae57740b0.png
image.png

参考文献:
http://mp.weixin.qq.com/s?__biz=MzA4NTQwNDcyMA==&mid=503177922&idx=1&sn=6ef35c039a6564b1cec6343754a6c004&mpshare=1&scene=1&srcid=0923XyCoXwmTFesJeKshiOUa#rd

相关文章
|
7天前
|
Unix Shell 网络安全
git学习六:(bug总结)git@github.com: Permission denied (publickey).等
本文是关于解决在使用Git和GitHub时遇到的“git@github.com: Permission denied (publickey)”错误的指南。文章提供了详细的步骤,包括确认SSH Agent运行状态、检查密钥配置、确保密钥匹配、验证仓库URL、检查权限和代理设置,以及配置SSH文件。这些步骤帮助用户诊断并解决SSH认证问题。
17 0
|
1月前
|
开发工具 git 开发者
掌握版本控制的艺术:Git 与 GitHub 的高效使用指南
在软件开发中,版本控制对于代码管理和团队协作至关重要。本文详细介绍了 Git 的核心概念与命令,包括初始化、创建仓库、文件跟踪、分支管理和远程仓库操作。同时,探讨了如何利用 GitHub 进行项目组织、代码审查及自动化工作流。通过遵循最佳实践,如频繁提交、清晰的信息记录和合理使用分支,开发者可以提升工作效率和团队协作能力,确保项目的持续成功。
|
1月前
|
Shell 网络安全 开发工具
Git,GitHub,Gitee&IDEA集成Git
Git提交项目到GitHub简洁版、版本控制、安装、常用命令、分支、团队协作机制、Github、Gitee远程仓库、IDEA集成Git、IDEA集成Github、IDEA集成Gitee
Git,GitHub,Gitee&IDEA集成Git
|
29天前
|
Shell 网络安全 开发工具
fatal: unable to access 'https://github.com/wolfcw/libfaketime.git/': Encountered end of file
fatal: unable to access 'https://github.com/wolfcw/libfaketime.git/': Encountered end of file
|
3月前
|
网络安全 开发工具 git
【git】解决git报错:ssh:connect to host github.com port 22: Connection timed out 亲测有效
【git】解决git报错:ssh:connect to host github.com port 22: Connection timed out 亲测有效
823 1
|
4月前
|
Shell 测试技术 网络安全
【GIT】如何在GitHub上向一个开源项目贡献代码?
【GIT】如何在GitHub上向一个开源项目贡献代码?
62 5
|
4月前
|
开发工具 git
【已解决】error: failed to push some refs to ‘git@github.com:BATdalao/Github-green.git‘
【已解决】error: failed to push some refs to ‘git@github.com:BATdalao/Github-green.git‘
73 1
|
3月前
|
网络安全 开发工具 git
使用git克隆仓库报错:Warning: Permanently added‘github.com’ to the .....(ssh )
所以,你可以安全地忽略这个警告,它不会影响到你使用git克隆仓库。如果你已经成功克隆了仓库,那么一切都在正常工作。如果你在克隆过程中遇到其他问题,那可能需要查看具体的错误信息来解决。
78 0
|
4月前
|
开发工具 git
出现“error: failed to push some refs to ‘https://github.com/****.git‘”,如何解决问题
出现“error: failed to push some refs to ‘https://github.com/****.git‘”,如何解决问题
399 1
|
4月前
|
开发工具 git
idea中git替换,推送到新的github或者gitlab上面
idea中git替换,推送到新的github或者gitlab上面
448 2