007 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分支: 保存正在开发中的代码