首页 > 代码库 > 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的基本使用