Git学习笔记03_用Git和GitHub管理项目仓库记录

来源:互联网 发布:java银行管理系统代码 编辑:程序博客网 时间:2024/06/05 19:12

创建远程库

创建SSH Key,在用户主目录下(Windows 7为C:\Users\Administrator)看看有没有.ssh目录,如果有,再看看这个目录下有没有id_rsaid_rsa.pub这两个文件,这两个是SSH Key的密钥对,如果有,跳到下一步,如果没有,打开Shell(Windows下打开Git Bash),创建SSH Key。

$ ssh-keygen -t rsa -C "youremail@example.com"

GitHub Add SSH Key,登陆GitHub,打开”Settings”,”SSH and GPG keys”页面,点”New SSH key”,填上Title,在Key文本框粘贴id_rsa.pub文件的内容,点”Add SSH key”,可以看到添加的Key。

创建本地Git仓库

在工作目录下创建好项目的目录结构后,建立本地Git仓库并同步至GitHub。

E:\WORK\BLOGAPP├─backup├─conf├─dist├─ios├─LICENSE└─www    ├─static    └─templates

管理本地库和远程库

# E:\work\blogapp# 把当前目录变成Git可以管理的仓库$ git init# 本地库关联远程库$ git remote add origin git@github.com:padluo/blogapp.git# 把文件修改添加到暂存区,可反复使用,添加多个文件。$ git add README.md# 提交更改,把暂存区的所有内容提交到当前分支,commit一次性把暂存区的所有修改提交到当前分支。$ git commit -m 'add initial resource'# 把本地库当前分支master推送到远程。# 由于远程库是空的,我们第一次推送master分支时,加上了-u参数,Git不但会把本地的master分支内容推送到远程新的master分支,还会把本地的master分支和远程的master分支关联起来,在以后的推送或者拉取时就可以简化命令。# 第一次推送非master分支时,需要加上-u参数吗?$ git push -u origin master# 查看远程库的信息,-v显示详细信息。$ git remote# 创建并切换到day_01分支,相当于git branch day_01(创建分支)和git checkout day_01(切换分支)$ git checkout -b day_01# 查看所有分支,当前分支前会标*号$ git branch# 切换回master分支$ git checkout master# 切换回day_01分支$ git checkout day_01# 合并指定分支master到当前分支day_01,Fast forward模式,删除分支后,会丢掉分支信息。fast forward合并看不出曾经做过合并。$ git merge master# 显示最近到最远的提交日志,回退版本用$ git log# log的简化版,显示commit id和commit的说明$ git log --pretty=oneline# 查看命令历史,回到未来版本用。$ git reflog# 查看状态$ git status# 把指定分支day_01推送到远程库对应的远程分支$ git push origin day_01# 抓取分支,模拟一个你的小伙伴,可以在另一台电脑(注意要把SSH Key添加到GitHub)或者同一台电脑的另一个目录下克隆,当你的小伙伴从远程库clone时,默认情况下,你的小伙伴只能看到本地的master分支。不信可以用git branch命令看看。$ git clone git@github.com:padluo/blogapp.git$ git branch$ git checkout master# 创建远程origin的day_01分支到本地$ git checkout -b day_01 origin/day_01# 在本地day_01上做了修改后,push到远程,有冲突,把最新的提交从origin/day_01抓下来,在本地合并,解决冲突。$ git pull# git pull也失败,如果git pull提示“no tracking information”,则说明本地分支和远程分支的链接关系没有创建,没有指定本地day_01分支与远程origin/day_01的链接,然后再pull。$ git branch --set-upstream day_01 origin/day_01# 删除分支day_01$ git branch -d day_01$ git checkout -b day_02$ cd www/$ git add app.py$ git commit -m 'add initial resource'$ git checkout master# 合并指定分支day_02到当前分支master,Fast forward模式,删除分支后,会丢掉分支信息。fast forward合并看不出曾经做过合并。$ git merge day_02# 查看分支合并图$ git log --graph --pretty=oneline --abbrev-commit# 回退到上一个版本,回退到指定版本为git reset --hard XXXXXX(commit id)$ git reset --hard HEAD^# 合并分支day_02到master分支,--no-ff表示禁用Fast forward,把commit描述写进去,在merge时生成一个新的commit,这样从分支历史上可以看出分支信息。$ git merge --no-ff -m 'merge day_02' day_02$ git log --graph --pretty=oneline --abbrev-commit$ git checkout day_02$ git push origin day_02$ git checkout master$ git log --graph --pretty=oneline --abbrev-commit$ git push origin master$ git checkout -b day_03$ git log --graph --pretty=oneline --abbrev-commit

微信公众号「数据分析」,分享数据科学家的自我修养,既然遇见,不如一起成长。
数据分析

0 0
原创粉丝点击