git基础教程 一、如果你只在本地用 二、如果你要提交到远程的服务器(以github为例,多人模拟开发一个项目)   三、还有个问题,这样提交每次都有要输入用户名密码

git基础教程
一、如果你只在本地用
二、如果你要提交到远程的服务器(以github为例,多人模拟开发一个项目)
 
三、还有个问题,这样提交每次都有要输入用户名密码

首先设置一下你的用户名称和e-mail地址。这是非常重要的,因为每次Git提交都会使用该信息。它被永远的嵌入到了你的提交中

//这不一定要写github的账号和邮箱(当然最好写github账户的邮箱)

git config --global  user.email "your email"
git config --global  user.name "use english "

1.初始化本地仓库

git init //进入你的工程目录输入此命令,初始化本地仓库

2.添加文件到提交的队列(可以这样理解吧,专业一点是添加到git的索引里面)

如果一开始是空目录,就添加当前目录的所有文件

git add -A //添加所有修改过的文件

当然也可以添加当前目录

git add .

添加特定文件就是

git add yourfilename

3.提交到本地的仓库(就储存到仓库咯)

git commit -m "本次提交的注释" 


如果你只在本地用,初始化后,每次只要输入git add 跟git commit就可以了

二、如果你要提交到远程的服务器(以github为例,多人模拟开发一个项目)

1.从github获取源码,并初始化仓库(注意已经初始化了不用git init了)

git clone git@github.com:XXXXXXXXX/XXXXX.git


如果你修改了一个文件,如test.php,要提交到github上,接下来第二步吧

2.添加test.php到提交队列

git add test.php

如果你比较懒,也可以这样,但应该不推荐

git add -A

3.提交到本地仓库

git commit -m "我修改了test.php" 

4.提交到github

默认提交到master分支

第一次提交在最后加个 master,如:git push git@github.com:XXXXXXXXX/XXXXX.git master

git push git@github.com:XXXXXXXXX/XXXXX.git

你也可以对该远程仓库命名(下面把那个github的远程仓库命名为myproject)

git remote add myproject git@github.com:XXXX/XXXX.git 

下次提交就可以这样

git push myproject

 

5.还要说

以后提交就写几个命令即可
git add 新增文件 //省事就-A
git commit -m "本次提交的注释"
git push myproject 

还可以添加默认的push,push到origin的master分支

git push --set-upstream origin master

以后commit完直接git push 就好

三、还有个问题,这样提交每次都有要输入用户名密码

我们可以在github上添加我们的公钥就可以不用输入用户名密码

1.获取你的公钥

在你的git的终端输入下面的,不断回车,即可生成key

ssh-keygen

linux可在 cat ~/.ssh/id_rsa.pub 获取
windows在用户目录的/.ssh/id_rsa.pub,

反正输完命令他会告诉你存在哪的

2.添加到github上

用文本文件打开上面的id_rsa.pub文件

在github的setting可以添加,具体看图

git基础教程
一、如果你只在本地用
二、如果你要提交到远程的服务器(以github为例,多人模拟开发一个项目)
 
三、还有个问题,这样提交每次都有要输入用户名密码

//会了以上的就可以开始你的git之旅,其他的慢慢学吧
最常用的 git 命令有:
   add        添加文件内容至索引
   bisect     通过二分查找定位引入 bug 的变更
   branch     列出、创建或删除分支
   checkout   检出一个分支或路径到工作区
   clone      克隆一个版本库到一个新目录
   commit     记录变更到版本库
   diff       显示提交之间、提交和工作区之间等的差异
   fetch      从另外一个版本库下载对象和引用
   grep       输出和模式匹配的行
   init       创建一个空的 Git 版本库或重新初始化一个已存在的版本库
   log        显示提交日志
   merge      合并两个或更多开发历史
   mv         移动或重命名一个文件、目录或符号链接
   pull       获取并整合另外的版本库或一个本地分支
   push       更新远程引用和相关的对象
   rebase     本地提交转移至更新后的上游分支中
   reset      重置当前HEAD到指定状态
   rm         从工作区和索引中删除文件
   show       显示各种类型的对象
   status     显示工作区状态
   tag        创建、列出、删除或校验一个GPG签名的 tag 对象