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分支:      保存正在開發中的代碼
相關文章
相關標籤/搜索