一、创建仓库
(1)注册github账户,登录后,点击"New respository "

(2)在新页面中,输入项目的名称,勾选’readme.md’,点击’create repository’
- Add.gitignore:比如我们写文件是.py结尾的文件,但是.py文件运行的时候经常会产生中间文件.pyc,这个文件和项目代码没有关系,导入的时候生成这个文件,但是在这个目录下生成这个文件的话,git就会提示你这个文件没有被跟踪,没有被管理,有时候我们不想让git去管理这些文件,比如看到也不要去管,那么这个时候,在目录下面添加.gitignore文件,让它忽略这些文件。
- 这里面可以选择各个语言所需要忽略的东西

(3)添加成功后,转到文件列表页面.

二、添加ssh账户
(1)点击账户头像后的下拉三角,选择’settings’
- 如果某台机器需要与github上的仓库交互,那么就要把这台机器的ssh公钥添加到这个github账户上;
- 点击’SSH and GPG keys’,添加ssh公钥。
[外链图片转存失败,源站可能有防盗链机制,建议将图片保存下来直接上传(img-WIzHnfUh-1651755269899)(https://gitee.com/IT-cute/Picbed/raw/master/img/image-20220409001608454.png)]
(2) 在ubuntu的命令行中,回到用户的主目录下,编辑文件.gitconfig,修改某台机器的git配置。
python@ubuntu:~$ vi .gitconfig

(3)修改为注册github时的邮箱,填写用户名。

(4)使用如下命令生成ssh密钥。
python@ubuntu:~$ ssh-keygen -t rsa -C "991234337@qq.com"

(5)进入主目录下的.ssh文件 ,下面有两个文件。
python@ubuntu:~$ cd .ssh
python@ubuntu:~/.ssh$ ls
id_rsa id_rsa.pub known_hosts
python@ubuntu:~/.ssh$ cat id_rsa.pub

(6)回到浏览器中,填写标题,粘贴公钥。

三、克隆项目
(1)在浏览器中点击进入github首页,再进入项目仓库的页面

(2)复制git地址(选择ssh的地址,因为我们添加的就是ssh)

(3) 克隆出错
比如克隆到到某个目录下
python@ubuntu:~$ cd git_test/
python@ubuntu:~/git_test$ ls
code3.txt code.txt
python@ubuntu:~/git_test$ git clone git@github.com:IT-cute/test.git
python@ubuntu:~/git_test$ eval "$(ssh-agent -s)"
Agent pid 25127
python@ubuntu:~/git_test$ ssh-add
Identity added: /home/python/.ssh/id_rsa (/home/python/.ssh/id_rsa)

(4)在命令行中复制仓库中的内容

四、上传分支
(1)项目克隆到本地之后,执行如下命令创建分支smart.
python@ubuntu:~/git_test/test$ git checkout -b smart
切换到一个新分支 'smart'
python@ubuntu:~/git_test/test$ git branch
main
* smart

(2)创建一个code.txt并提交一个版本。
python@ubuntu:~/git_test/test$ touch code.txt
python@ubuntu:~/git_test/test$ vi code.txt
python@ubuntu:~/git_test/test$ git add code.txt
python@ubuntu:~/git_test/test$ git commit -m "版本1"
[smart e6023bc] 版本1
1 file changed, 1 insertion(+)
create mode 100644 code.txt

(3)推送前github上文件、分支列表如下图:

(4)推送分支,就是把该分支上的所有本地提交推送到远程库,推送时要指定本地分支,这样,git就会把该分支推送到远程库对应的远程分支上
git push origin 分支名称
python@ubuntu:~/git_test/test$ git push origin smart

(5)再去github网站上去看分支页面(记得刷新一下),内容如下。

五、将本地分支跟踪服务器分支
git branch --set-upstream-to=origin/远程分支名称 本地分支名称
python@ubuntu:~/git_test/test$ git branch --set-upstream-to=origin/smart smart
分支 smart 设置为跟踪来自 origin 的远程分支 smart。
python@ubuntu:~/git_test/test$ git status

六、从远程分支上拉取代码
git pull orgin 分支名称
python@ubuntu:~/git_test/test$ git pull origin smart
使用上述命令会把远程分支smart上的代码下载并合并到本地所在分支。

七、工作使用git
7.1 项目经理
(1) 项目经理搭建项目的框架。
(2) 搭建完项目框架之后,项目经理把项目框架代码放到服务器。
7.2 普通员工
(1) 在自己的电脑上,生成ssh公钥,然后把公钥给项目经理,项目经理把它添加的服务器上面。
(2) 项目经理会给每个组员的项目代码的地址,组员把代码下载到自己的电脑上。
(3) 创建本地的分支dev,在dev分支中进行每天的开发。
(4) 每一个员工开发完自己的代码之后,都需要将代码发布远程的dev分支上。
7.3 Master和Dev区别
Master:用户保存发布的项目代码。V1.0,V2.0
Dev:保存开发过程中的代码。
|