首页 > 代码库 > git的基本使用
git的基本使用
git命令行工具:
基于git命令行的一个客户端软件(提供一个界面去管理源代码)
git 每次提交都需要写日志,方便追溯
gitGutter插件 用来记录本地修改的情况
*表示相对于上次来说修改的内容
Sublime代码开发编辑器
github学习中的探索项目http://github.com/explore
git hub操作
set up git
create repositories
Fork repositories
work togerther
举个例子:
如果开发把代码给我了,我解压缩到共享服务器的开发目录,里面新添加了一个readme.txt项目文件,想把它放到github托管,放到master分支
1:首先安装git根据电脑的操作系统位数,选择是32还是64位,设置环境变量,然后本地初始化git ,
在windows的git的安装目录打开bash git,git init初始化仓库,把项目放到git 路径
需要注意的是:要在github上创建项目,项目名称需要和本地windows上的git 项目保持一致性,例如我取的名字为git-demo
用户环境变量设置:
变量名:GIT_HOME
在path中添加变量值:F:\develop\git
;%GIT_HOME%\bin;
git --version //查看git是否安装成功
git init //初始化git,git init初始化一个本地git仓库
2:把本地的内容推送到github,先看下状态和当前的分支有哪些
git status查看本地的项目内容,查看本地仓库的变更状态,第一次查看,显示的是一些没有被跟踪的文件
git brach 查看当前的分支,默认只有maste分支
补充说明
git add . //添加所有变更的内容
git add all
在代码库文件夹的根目录添加一个.gitignore文件,此文件用于说明忽略的文件有哪些,在git hub上新建项目的时候也可以有这个选项
在代码管理工具中【Sublime代码开发编辑器】新建.gitignore,因为windows下不能新建以.开头的文件
在gitignore中添加要排除的目录
例如:readme项目中的目录结构有很多,其中有一些是不必要的,没有必要放到github浪费空间,业影响我们代码管理和浏览的整洁性,取消某些不必要的内容
node_modules
dist 会取消所有文件夹下的dist
当只需要取指定的dist而不是所有的dist文件时
/dist代表只会忽略根下的dist
git add .
git add all
git add readme.txt 添加项目
git commit -m "add my first project " 提交项目说明, 我个人简单的理解为其实就是打标机,添加说明
git commint 将本地的变化提交的本地的仓库文佳夹归档,它其实是保存了代码中的一个副本,
避免有问题的时候可以还原,一般在有了一个小单元的整体变化后再提交
commmit 提交代码到git hub时需要添加用户名和密码认证
添加用户:
git config --global user.email "devops1066197187@163.com"
git config --global user.name "phoenix"
git commit -m "add my first project " 提交项目说明
git add readme.txt
git status 查看要提交的代码状态
git status -s 查看详细的状态,-s输出简要的变更日志
$ git status -s
A readme.txt
A表示新添加的内容
git log 查看操作记录
3:把github的远程仓库添加到本地
git help remote
git remote add origin https://github.com/phoenix/git-demo.git
$ git remote
origin
yan@DESKTOP-82902VT MINGW64 /f/develop/git-demo (master)
$ git remote -v
origin https://github.com/phoenix/git-demo.git (fetch)
origin https://github.com/phoenix/git-demo.git (push)
git push -u origin master //把内容推送到远端的分支,-u参数实现让文件以流的方式传输,速度快
$ git push -u origin master
bash.exe: warning: could not find /tmp, please create!
Username for ‘https://github.com‘: phoenix
bash.exe: warning: could not find /tmp, please create!
Password for ‘https://phoenix@github.com‘:
Counting objects: 4, done.
Delta compression using up to 4 threads.
Compressing objects: 100% (2/2), done.
Writing objects: 100% (4/4), 302 bytes | 0 bytes/s, done.
Total 4 (delta 0), reused 0 (delta 0)
To https://github.com/phoenix002/git-demo.git
* [new branch] master -> master
Branch master set up to track remote branch master from origin.
yan@DESKTOP-82902VT MINGW64 /f/develop/git-demo (master)
$ git status
On branch master
Your branch is up-to-date with ‘origin/master‘.
nothing to commit, working directory clean
yan@DESKTOP-82902VT MINGW64 /f/develop/git-demo (master)
$ git log
commit 7e32b28246cbe9982876e2f8d706447de5cad0ff
Author: phoenix002 <“devops1066197187@163.com>
Date: Thu Mar 9 11:36:37 2017 +0800
tijiao readme.txt
登陆github代码托管就可以看到提交的代码内容
在工作做开发都是协同工作,例如开发A开发了一个项目,或者项目readme.txt文件有变更,A把她更新后的代码放到github上
开发组员B需要在A跟新的基础上进行代码的开发,
首先B要看看相对之前A做了什么变动
git diff用来对比差异
git log查看操作记录
commit 22d250GHJJ
git reset --hard 22d250G
哈希值版本的前六位
git reset --hard 强制回退到代码库之前提交的那个状态
git log 可以查看是否已经还原
B需要把A推送到github上的readme项目拉取下来
需要进行的操作是
git pull origin master //把github上的代码拉到本地
可以在本地机器上看到readme项目新添加的内容this is test
$ git pull origin master
bash.exe: warning: could not find /tmp, please create!
remote: Counting objects: 3, done.
remote: Compressing objects: 100% (2/2), done.
remote: Total 3 (delta 0), reused 0 (delta 0), pack-reused 0
Unpacking objects: 100% (3/3), done.
From https://github.com/phoenix002/git-demo
* branch master -> FETCH_HEAD
7e32b28..2a98417 master -> origin/master
Updating 7e32b28..2a98417
Fast-forward
readme.txt | 1 +
1 file changed, 1 insertion(+)
补充一个内容:
https://gist.github.com 可以存放自己的代码片
创建号代码片后,会有一个Embed地址,是js脚本
可以把这个放入到index.html 可以访问到该代码片
<script src="https://gist.github.com/phoenix/e40e6fc1083eb8a592ec19a00f941df7.js"></script>
这个可以免费创建私有的,另外可以下载改代码片段的压缩包
本地创建分支
git brach 查看当前版本库有几个分支
git brach v2 创建分支V2
git checkout v2 切换到v2分支
git brach
提交到远端地址
git push -u origin v2
git status
vim index.php
<?php
echo "index";
?>
git add --all
git commit -m "v2 version add"
推到远端需要用户名和密码认证
git push -u origin v2
$ git push -u origin v2
bash.exe: warning: could not find /tmp, please create!
Username for ‘https://github.com‘: phoenix
bash.exe: warning: could not find /tmp, please create!
Password for ‘https://phoenix002@github.com‘:
Total 0 (delta 0), reused 0 (delta 0)
To https://github.com/phoenix/git-demo.git
* [new branch] v2 -> v2
Branch v2 set up to track remote branch v2 from origin.
如果要删除分支2
*删除分支
git branch -d [branch name]
(不能删?用这个!)
git branch -D [branch name]
一般情况下,你通常直接在文件管理器中把没用的文件删了,或者用rm命令删了:
这个时候,Git知道你删除了文件,因此,工作区和版本库就不一致了,git status命令会立刻告诉你哪些文件被删除了:
删除文件
命令git rm用于删除一个文件。如果一个文件已经被提交到版本库,那么你永远不用担心误删,
但是要小心,你只能恢复文件到最新版本,你会丢失最近一次提交后你修改的内容。
$ git status
On branch master
Your branch is up-to-date with ‘origin/master‘.
Changes not staged for commit:
(use "git add/rm <file>..." to update what will be committed)
(use "git checkout -- <file>..." to discard changes in working directory)
deleted: .aaa/aaaaaa.txt
no changes added to commit (use "git add" and/or "git commit -a")
yan@DESKTOP-82902VT MINGW64 /f/develop/git-demo (master)
$ git rm .aaa/aaaaaa.txt
rm ‘.aaa/aaaaaa.txt‘
yan@DESKTOP-82902VT MINGW64 /f/develop/git-demo (master)
$ git status
On branch master
Your branch is up-to-date with ‘origin/master‘.
Changes to be committed:
(use "git reset HEAD <file>..." to unstage)
deleted: .aaa/aaaaaa.txt
yan@DESKTOP-82902VT MINGW64 /f/develop/git-demo (master)
$ git commit -m "remove .aaa/aaaaaa.txt"
[master b11c1b4] remove .aaa/aaaaaa.txt
1 file changed, 0 insertions(+), 0 deletions(-)
delete mode 100644 .aaa/aaaaaa.txt
yan@DESKTOP-82902VT MINGW64 /f/develop/git-demo (master)
$ git status
On branch master
Your branch is ahead of ‘origin/master‘ by 1 commit.
(use "git push" to publish your local commits)
nothing to commit, working directory clean
yan@DESKTOP-82902VT MINGW64 /f/develop/git-demo (master)
$
$ git log
commit b11c1b4e2740869a8865de6289cb49cae7486c09
Author: phoenix002 <“devops1066197187@163.com>
Date: Thu Mar 9 22:14:41 2017 +0800
remove .aaa/aaaaaa.txt
第一步:$ touch news.txt
第二步:$ git add news.txt
第三步:$ git commit -m "添加一个txt文件"
git push -u origin v2
http://www.dnspod.cn/cpnsole/dns 利用github存放自己开发的网站,可以用这种域名解析
http://phoenix.github.io github官方域名,其实就是自己的github的ID加上.github.io后缀
前端自动化之神器 — Gulp Javascript构建工具
http://www.imooc.com/article/3399
本文出自 “fire phoenix” 博客,转载请与作者联系!
git的基本使用