Git--- Github
Posted crazysheldon1
tags:
篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了Git--- Github相关的知识,希望对你有一定的参考价值。
首先进入项目目录,启动git--->Git Bash Here,这样就开启了git管理系统启动了一个git图形界面,执行 $ git init . 初始化,在项目中便形成了一个.git的目录 然后通过一系列命令进行版本控制。
注意:项目内容在没有被管理的时候status为红色,被管理后为绿色!
#开始管理项目(基础3步走) git init . #首先初始化,生成 .git目录 git add . #将整个项目管理起来 git commit -m "项目01版本" #"项目的01版本"当然执行的时候可能会报错,需要配置下git config """ 执行这两条命令配置邮箱和名称 git config --global user.email "[email protected]" git config --global user.name "Your Name" """
工作区: 项目中当前的编辑位置.
缓存区:git add 之后的区域,将文件放在缓存区.
版本库:commit之后的区域就是版本库.
git常用命令
git init . # 初始化 git add . # 将工作区的所有文件添加到缓存区 git commit -m “提交信息” #将缓存区的内容添加到版本库,注意:"提交信息"写的越详细越好!方便后期管理 git status #查看当前的状态 git reset --hard hash值 #回退到指定的版本,这里的hash值就是每次commit的时候都会生成一个类似md5值的字符串,例如 "9d2aaf3ea89a9e6b8d8050a6d1a730f6bb4a0d85" git checkout -- file(指定文件) # 将文件回滚到最近一次提交的样子 该命令比较危险在不确认文件用途的时候慎用!!! git log # 查看当前位置之前的提交记录 git log -p 文件 #指定版本库的区别 git log pretty=online #将commit过的值 版本库信息全部显示 git log --pretty="format:%an %h %T %ar" #格式化显示版本库信息 例如%an 作者名称 %h 用户简短hash值 %ar修订日期 %T树状显示 git reflog #查看所有的记录(只要提交过的记录就能查到) git reset HEAD file # 将文件从缓存区拉取到工作区 git diff 对比文件 # 对比工作区和缓存区 git diff --cached 对比文件 # 对比版本库和缓存区
git-快照
git stash #将当前内容创建一个快照,并回到最后一次提交的位置,前提是有改变的情况下 git stash list #查看快照列表 git stash pop 回到快照位置,并删除这个快照 相当于以下两条命令集合 git stash apply #回到快照 git stash drop #删除快照
git-分支
分支的作用就是用于团队协同开发,这样代码就会出现较大分歧。这时候就需要用到分支了,不同的任务组在不同的分支上开发,互相之间不会影响。git分支的特性和BUG修改都在不同的分支上进行开发和测试。这样规范了整个软件的开发流程。分支之间的互不影响这种特性可以增加团队合作的效率。GIT分支的另外一个重要特性就是可以合并不同软件仓库(fork)的分支。
注意点:一般来说禁止在master分支上修改,因为master为线上代码,一旦出现问题,会产生严重的后果.基本上在dev分支上修改
#分支的常用命令 git branch name #创建一个分支 git branch #查看分支列表 git checkout name #切换分支 git branch -d name #删除指定分支 git checkout -b name #在当前分支的基础上 创建并切换一个分支 git merge master bug #将这两个分支合并
冲突
#下面这种情况就表示出现了冲突 Auto-merging templates/car.html CONFLICT (content): Merge conflict in templates/car.html Automatic merge failed; fix conflicts and then commit the result. <<<<<<< HEAD <li>兰博基尼2/3</li> ======= <li>兰博基尼1/2</li> >>>>>>> dev1
Auto-merging templates/car.html
CONFLICT (content): Merge conflict in templates/car.html
The stash entry is kept in case you need it again.
<<<<<<< Updated upstream
<li>奇瑞瑞虎7</li>
=======
<li>奇瑞瑞虎</li>
>>>>>>> Stashed changes
#分支和dev1同时改动同一个文件相同的地方,合并的时候git无法处理,产生冲突,需要人为解决
#创建快照之前,将li标签改为奇瑞瑞虎,当创建快照后然后在将li标签改为奇瑞瑞虎7,当执行删除快照 git stash pop 的时候就会产生冲突,需要手动选择解决
Github托管代码
将代码上传github
1.先创建一个仓库,选择公开和私有随意.
#上传操作 git remote add origin https://github.com/liuxiaofei1071/shop.git #将自己github url地址重命名为origin git push origin master #此时上传master分支代码到github的coco仓库 ,如果没登录Github就需要进行登录
2.这样只能上传master分支,如果是多分支的话
git push origin dev #传dev分支到github git push origin dev1 #传dev分支到github
将从github代码拉取到本地
1.进入对应仓库,如我的 liuxiaofei1010/shop,点击Clone or download按钮,复制github上的项目url,在git中执行对应的命令
#相关git命令 git clone github的url #该命令就可以将代码从github上拉取下来,但是仅限于master分支 #拉取其他分支代码 git checkout -b dev origin/dev #拉取dev分支 git checkout -b dev1 origin/dev1 #拉取dev1分支
两台机器分别更改github代码
#公司pc git pull origin dev1 #将dev1分支代码同步到机器dev1分支 #修改后 git push origin dev1 #将本地dev1分支代码同步到github的dev分支 #home-pc 操作同上..
...待续
以上是关于Git--- Github的主要内容,如果未能解决你的问题,请参考以下文章