github使用

创建git仓库

第二步 填写仓库信息

添加readme文件

添加想要忽略的文件 .gitignore文件,例如.pyc等文件 

第三步,创建ok

添加ssh用户

某台机器想要和github的仓库交互,需要提交这台机器的ssh公钥,添加到github账户

步骤1

步骤2

添加ssh公钥

步骤3

填写ssh公钥

这里得先在linux机器上,生成ssh公钥

yugoMBP:~ yuchao$ ssh-keygen    一路回车,就行
会生成一对公私钥

yugoMBP:.ssh yuchao$ ls
id_rsa    id_rsa.pub    known_hosts

id_rsa是私钥,自己保留
id_rsa.pub是公钥,发送给别人

填写如下公钥信息即可

如图添加完毕

以上事情,公司中一般是运维或者项目经理来添加

推送本地项目到github

主干master代码
[root@VM_32_137_centos mydj11]# git remote add origin git@github.com:ayuchao/s15oldboy.git  #为github远程地址起一个别名origin
[root@VM_32_137_centos mydj11]# git pull origin master #下载远程仓库代码,合并本地master分支
[root@VM_32_137_centos mydj11]# git push origin master  #推送本地master分支的代码,以及版本信息,到远程github的master分支
此时可以在github查看代码啦

分支xiaofeng
echo "我是萧峰,降龙十八掌掌门人" >> xiaofeng.txt
git add .
git commit -m 'xiaofeng提交了txt文本'
git branch
git push origin xiaofeng
此时github远程多了一个新分支,xiaofeng,代码也在里面了

新入职,新电脑,怎么下载代码?

此时我是新电脑,啥也没有
git clone git@github.com:ayuchao/s15oldboy.git  #下载github的项目

#下载的代码如下
[root@VM_32_137_centos s15oldboy]# pwd
/opt/s15oldboy
[root@VM_32_137_centos s15oldboy]# ls
app01  app02  db.sqlite3  manage.py  mydj11  qiong.txt  README.md

#默认获取的只有master分支
[root@VM_32_137_centos s15oldboy]# git branch
* master

#创建新的分支,并且和远程dev分支同步,注意确保远程github有dev分支,没有就提前创建好
[root@VM_32_137_centos s15oldboy]# git branch dev origin/dev
分支 dev 设置为跟踪来自 origin 的远程分支 dev。

[root@VM_32_137_centos s15oldboy]# git checkout dev
切换到分支 'dev'

#开始在dev分支下写新代码
[root@VM_32_137_centos s15oldboy]# echo "我是dev分支,我开发了一个贼nb的功能" >> daima.py
[root@VM_32_137_centos s15oldboy]# git add .
[root@VM_32_137_centos s15oldboy]# git commit -m "我是dev,提交了新功能daima.py"

#提交dev分支内容到远程github托管的dev分支,可以去github检查代码
git push origin dev  

#合并dev分支的代码到master主干上,注意此时还是呆在dev分支下
git checkout master
git status
git merge dev
git push origin master  #推送master代码,远程github代码已经更新

 

在github创建新的分支dev,如图

克隆一个git仓库

 

git clone git@github.com:ayuchao/oldboyPython.git  #这一步下载远程git仓库到本地

 实战git分支推送代码

创建git 分支 并且切换分支
git checkout -b  chaoge

开始写代码views.py

新文件views.py开始追踪
git add .

提交暂存区的代码views.py到本地仓库
git commit -m "分支提交了代码views.py"

推送本地提交到远程仓库github

git push origin 分支名    ,如果远程分支不存在,github会创建一个分支

yugoMBP:oldboyPython yuchao$ git push origin chaoge
Warning: Permanently added the RSA host key for IP address '52.74.223.119' to the list of known hosts.
Enumerating objects: 4, done.
Counting objects: 100% (4/4), done.
Delta compression using up to 8 threads.
Compressing objects: 100% (2/2), done.
Writing objects: 100% (3/3), 361 bytes | 361.00 KiB/s, done.
Total 3 (delta 0), reused 0 (delta 0)
remote: 
remote: Create a pull request for 'chaoge' on GitHub by visiting:
remote: https://github.com/ayuchao/oldboyPython/pull/new/chaoge
remote:
To github.com:ayuchao/oldboyPython.git
* [new branch] chaoge -> chaoge

检查github的分支情况

 

下一步

将本地分支跟踪github分支

使用git在本地新建一个分支后,需要做远程分支关联。

如果没有关联,git会在下面的操作中提示你显示的添加关联。

关联目的是在执行git pull, git push操作时就不需要指定对应的远程分支,你只要没有显示指定,git pull的时候,就会提示你。

解决方法就是按照提示添加一下呗:

git branch --set-upstream-to=origin/远程分支名称 本地分支名称

git branch --set-upstream-to=origin/chaoge chaoge

从远程github拖取代码

在本地添加新的代码功能

vim views.py #写入新的代码功能

代码写完,添加文件到暂存区,再提交到本地仓库
git add .
git commit -m "添加日韩功能"

git status #查看状态,git会提示你可以git push到远程某一个分支

#因为咱们已经绑定了远程分支,因此直接git push
git push

Enumerating objects: 5, done.
Counting objects: 100% (5/5), done.
Delta compression using up to 8 threads.
Compressing objects: 100% (3/3), done.
Writing objects: 100% (3/3), 346 bytes | 346.00 KiB/s, done.
Total 3 (delta 1), reused 0 (delta 0)
remote: Resolving deltas: 100% (1/1), completed with 1 local object.
To github.com:ayuchao/oldboyPython.git
1344bc5..a1e66cb chaoge -> chaoge

#推送本地代码
git push
#查看远程分支信息

 

 从远程仓库下载代码

git pull origin 分支名称  

git pull origin chaoge    #从远程分支chaoge上下载代码,并且合并到本地所在的分支

也可以在github上修改代码文件,然后在本地 git pull 查看代码变化

 

工作中使用git流程

运维或者技术老大,选择使用github还是gitlab,配置git仓库

 

公司里的小弟们,在自己的电脑上,ssh-keygen生成公钥,然后把公钥发送给技术老大,然后老大会添加你的公钥到gitlab服务器上。

技术老大会给小弟们,一个公司项目的克隆地址,小弟们就自己git clone下载代码把!

 

小弟们的日常:

小弟们在自己笔记本创建dev分支,在dev分支中进行自己那一部分的开发

每一个小弟在开发完毕自己代码之后,推送到远程的dev分支

 

远程分支一般有俩

master分支:   保存线上的项目代码

dev分支:      保存正在开发中的代码

 

posted @ 2019-03-22 21:02 py鱼 阅读(...) 评论(...) 编辑 收藏