github使用

建立git仓库

第二步 填写仓库信息linux

添加readme文件git

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

第三步,建立oksql

添加ssh用户

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

步骤1centos

步骤2服务器

添加ssh公钥app

步骤3运维

填写ssh公钥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分支:      保存正在开发中的代码
相关文章
相关标签/搜索