git进行项目管理和版本控制

Catalogue
  1. 1. 流程
    1. 1.1. 1.创建一个文件夹test然后进入,输入git init就可以把这个目录变成git的本地仓库了
    2. 1.2. 2. 配置用户信息,这样提交代码时,git就知道是谁提交的
    3. 1.3. 3.把文件夹里的文件添加到缓存区
    4. 1.4. 4.将文件提交到本地仓库
    5. 1.5. 5.关联远程仓库
    6. 1.6. 6.同步仓库(push这个分支)
  2. 2. 如果是SSH
    1. 2.1. 1.生成ssh key
    2. 2.2. 2.执行以下命令
  3. 3. 如果是HTTPS

整理一下git的使用吧,时间长了老是忘,然后重新找,然后接着忘,记录一下吧

如何将本地文件上传到git仓库?当然是先建一个本地仓库喽

windows下安装一个git bash即可,下载链接:https://git-scm.com/downloads

流程

1.创建一个文件夹test然后进入,输入git init就可以把这个目录变成git的本地仓库了

1
2
3
$ git init
Initialized empty Git repository in C:/Users/Administrator/Desktop/test/.git/

一个文件夹可以被初始化成一个本地仓库

我们来查看一下当前文件夹的状态

1
2
3
4
5
6
7
8
9
10
$ git status
On branch master

No commits yet

Untracked files:
(use "git add <file>..." to include in what will be committed)
std_lvm_v1.2.sh

nothing added to commit but untracked files present (use "git add" to track)

这里可以看出,此文件夹已被初始化为仓库,分支的默认名为master

为了方便观察,我们将分支修改为test1

1
2
3
4
$ git branch -m master test1

$ git status
On branch test1

下面看一下没执行过git init的文件夹

1
2
$ git status
fatal: not a git repository (or any of the parent directories): .git

2. 配置用户信息,这样提交代码时,git就知道是谁提交的

1
2
3
4
5
6
查看全部的用户信息
cat ~/.gitconfig

添加用户信息
git config --global user.name yourname
git config --global user.email youremail

3.把文件夹里的文件添加到缓存区

1
2
3
git rm -r --cached .
清理git缓存
git add .

4.将文件提交到本地仓库

1
git commit -m '备注'

5.关联远程仓库

1
git remote add origin 你的远程仓库地址

6.同步仓库(push这个分支)

1
git push -u origin test1

这个push可以是SSH或HTTPS

如果是SSH

把本地ssh私钥加进github上

1.生成ssh key

用户是X在执行 ssh-keygen 时会在~/.ssh这个目录里面产生所需要的两把Keys

分别是私钥(id_rsa) 与公钥(id_rsa.pub)

1
2
3
4
ssh-keygen -t rsa -C "youremail@email.com"

引号中是你在github上的注册邮箱
之后设定你的ssh密码

2.执行以下命令

1
2
3
4
5
6
7
8
9
10
11
eval  "ssh-agent -s"

ssh-agent bash

ssh-add ~/.ssh/id_rsa
提示Identity added :说明已添加成功

查看公钥
cat ~/.ssh/id_rsa.pub

然后在github中添加即可

如果是HTTPS

1
还没测试

参考链接:

https://www.huaweicloud.com/articles/a309afc2a9bcf498763ab43770993587.html

git官方文档

https://git-scm.com/book/zh/v2/

生成ssh key

https://blog.csdn.net/Suo_ivy/article/details/79940839

有关commit的解释

https://segmentfault.com/a/1190000005638174

有关branch(分支)的解释

https://backlog.com/git-tutorial/cn/stepup/stepup1_1.html

git常用命令

https://cloud.tencent.com/developer/article/1148355