Git 极简入门教程学习笔记
Git - 分支间更新、同步与提交小技巧 1 Fork 仓库更新
怎样拉取其Github上其它开源项目,参考底部
测试用 https://github.com/xxx/BrnShop.git
1.检出仓库,创建本地git 仓库
这里我已经知道了GitHub的代码仓库,可以省掉在本地创建新仓库(git init)命令, 直接实践了clone命令
直接clone Github上的仓库到本地 :
$ git clone https://github.com/xxx/BrnShop.git, 完成后在本地创建了项目目录BrnShop
2.然后进入到这个git仓库,图2, 这点很重要, 见下面的蓝色的master,说明我们现在处于git仓库的主干
3.提出更改,把我们的代码添加到Git暂存区,即怎样将将代码从工作目录添加到暂存区
git add <filename> 这是 git 基本工作流程的第一步
git add * 在自己的工作目录下执行
什么是暂存区? Git维护着本地的Git仓库的三个区域,第一个是我们自己的工作目录,它持有实际文件;第二个是 暂存区(Index),它像个缓存区域,临时保存着我们的改动;最后是 HEAD,它指向你最后一次提交的结果。
4.提交代码,即将改动提交到了 HEAD,但是还没将改动提交到远端仓库
git commit -m "代码提交信息" //执行完这条命令改动现在已经在本地仓库的 HEAD 中了
5.推送改动,即将这些改动提交到远端仓库
git push origin master //可以把 master 换成想要推送的其它任何分支。
如果你还没有克隆现有仓库,并欲将你的仓库连接到某个远程服务器,你可以使用如下命令添加: git remote add origin <server> 如此你就能够将你的改动推送到所添加的服务器上去了。
当在github通过网页创建了某一项目仓库,github官方给出如下操作提示,在本地某一项目录下执行如下操作,实现将项目保存到github上去
git init git add README.md git commit -m "first commit" git remote add origin https://github.com/xxx/yyy.git git push -u origin master
6.分支 之前的操作,不做任何设置, 默认都是在"master"主干上开发,如果需要将自己的开发与"主干"绝缘开了,需要理解git中分支概念
6.1 创建一个叫做“feature_x”的分支,并切换过去
核心命令: git checkout
6.2 切回主干: git checkout master
6.3 删除分支: git branch -d feature_x
6.4 将分支推送的远端仓库 git push origin <branch>
7.更新主干,即取回远程主机某个分支的更新,再与本地的指定分支合并
当在master时, 执行 git pull命令 见图
当我在gitHub上直接编辑READ.md后,执行上述命令,改动会下载到本地
8.在工作分支下合并其他分支,即将其它分支的改动合并到到当前分支
在feature_x 下执行 $ git merge master
9. git diff 命令 如 $ git diff feature_x master
10. 查看提交log 和相关的打标签命令 为软件发布创建标签
11. 撤销
方法一:
用 HEAD 中的最新内容替换掉你的工作目录中的文件。已添加到暂存区的改动以及新文件都不会受到影响。
git checkout -- <filename>
方法二: 放弃在本地的所有改动与提交,使本地仓库到服务器上获取最新的版本历史
git fetch origin
git reset --hard origin/master
Q&A
1.暂存区临时保存着我们的改动
2.怎样将将代码从工作目录添加到暂存区
3.fetch 命令是什么作用?
4.
在已被创建为git仓库的目录,鼠标右键, Git Bash Here 打开git控制台窗口,在其中执行git命令,见上图
1. 克隆远程仓库 $ git clone https://github.com/Xxx/vuehelloworld.git (空仓库) 2. 进入仓库 cd <仓库> //当前分支是master 3. 创建自己的分支,并切换过去 $ git checkout –b dev_{Feature ID} 4. 提交内容到dev分支,使用如下命令 $ git add . $ git commit -m "添加初始内容" 5. 发现无法直接再切换回master分支, 使用命令 $ git checkout -b master 6. 在master分支上合并dev分支上的内容 $ git merge dev 7. 将<master> 分支的内容推送远端服务器 $ git push origin master //对于https://github.com/ 会要求你输入用户名和密码 【其它常用】 查看分支情况: git branch -a 切换分支 $ git checkout origin/master 建立本地分支和远程分支的追踪关系 git branch -u origin/master master
工作上的操作备忘
$ git checkout dev //切到dev分支 $ git pull //拉去最新代码保证dev分支代码为最新 $ git checkout dev_zhu //切到自己的分支, $ git checkout –b dev_{Feature ID} //创建自己的分支 $ git merge dev //此时在自己的分支上, 保证自己分支上代码和dev分支一致
you need to reslove your current index first .gitignore: needs merge
将本地的项目备份到github
使用git bash here 工具进入项目目录执行
$ git init
解决本地从 github上传或下载代码时每次都需要输入用户名和密码
git config --global credential.helper store