美文网首页
git的基本使用

git的基本使用

作者: lingfighting | 来源:发表于2016-11-27 12:52 被阅读107次

!(https://img.haomeiwen.com/i3780525/5ba3c246a7db25e1.png?imageMogr2/auto-orient/strip%7CimageView2/2/w/1240)
注:图片链接http://www.ruanyifeng.com/blog/2014/06/git_remote.html。 侵权删

本地项目上传到 Github
例如:使用命令行工具创建一名为 blog的project,推送到自己的 Github

1.新建本地blog仓库

mkdir blog
cd blog
touch readme.txt

//以上三步操作的是workspace

git init
git add readme.txt  //git add .提交当前文件前所有新增文件
git commit readme.txt -m "commit log description" //可提交多个文件

//以上操作是将workspace的文件上传到本地仓库

  • git init 将woksapce变成repository,当前文件下多了.git文件夹。**clone远程代码仓库到本地的时候,自带.git文件夹,不再需要git init **
  • git add 把文件添加到暂存区index(俗称stage)
  • git commit 提交更改,把暂存区的所有内容提交到当前本地repository

与SVN比较
git是commit到本地仓库,svn是commit到远程服务器。svn没有上图中pull、fetch/clone、push、Repository。git的优势在于,当远程服务器duang掉时,任何本地仓库可以通过push操作恢复远程服务器上的仓库。但是svn没有这样的恢复机制

2.在github上新建一个同名的远程仓库,并复制仓库地址

注:创建完成后,github显示仓库里面是空的,什么都没有,只有当你将本地仓库的文件上传,才会显示文件夹

3.把本地仓库推送到远程仓库

把本地仓库文件推送到远程仓库的必要条件是要将暂存区文件清空。可以用commit命令将暂存区文件提交到本地仓库,也可以用reset撤销add的操作,将文件从暂存区移除

//本地仓库连接到remote仓库,并给remote地址取别名叫origin,以后推送就不需要再使用远程地址
git remote add origin remote仓库名
//把本地仓库的文件推送到远程仓库。-u(--set-upstream)设置push分支,设置以后可直接使用git push命令
git push -u origin master

  • git remote -v //查看origin对应名称
  • git push remote地址 master //不使用别名的推送命令
  • git remote set-url origin remote地址 //给origin重新定位

从远程仓库中下载项目文件到本地

git clone 远程仓库名
git pull origin master 相当于svn的update,在git里面相当于执行了git fetch之后与workspace代码合并

创建branch

git branch 项目分支名    //创建分支
git checkout 项目分支名    //切换到刚刚新建的分支。本次仓库也会自动切换。这样就不需要为同一项目上衍生的多个小项目新建仓库。svn就需要建立多个本地文件夹
git branch    //查看当前分支
git branch -a    //查看所有的分支
git push origin 项目分支名  //将新建分支推送到远程仓库

删除文件

git rm filename
git add -A .
git commit -m "commit log descripition"
git push origin master  //同步远程仓库

:本地错误删除使用git reset --hard HEAD恢复文件

合并branch

git checkout master
git merge 项目分支名    //将新的分支合并到master分支
git push origin master    //将合并后的master分支提交到远程仓库

代码回退

//暂存区回退
git checkout -- filename  //文件一经修改就进入暂存区。此命令是恢复文件,清除修改
//本地仓库回退
git reset HEAD filename
git reset --hard HEAD    //对未commit的被git接管的修改文件,不经过checkout直接回到本地仓库当前版本,当前修改丢失
git reset HEAD指针    //回退到本地仓库指定版本。未commit的被git接管的修改文件,修改内容不会丢失
//本地回退后,同步远程
git push origin master  //协作开发时需谨慎


1.HEAD指针在commit时会改变,通过git log命令查看之前的HEAD指针。用reset命令回到以前版本,用checkout命令撤销在当前版本上还未commit的修改。
2.git reset HEAD filename命令在文件第一次add进暂存区,还未commit时有效,相当于解除git对该文件的管理。已经在git管辖范围里,对修改的文件进行撤销无效,因为文件没有commit,HEAD指针没有改变。此时的撤销修改请用git checkout命令.

//远程仓库回退

常用查看信息的命令

  • git status 随时关注当前文件夹下文件的修改状况
    • 增加了新文件
$ git status
On branch master
Your branch is up-to-date with 'origin/master'.
//未追踪文件
Untracked files:
//使用命令git add将新文件add进需要commit的阵列
  (use "git add <file>..." to include in what will be committed)
        test.txt
//没有文件需要commit,但是有还没有确定路径的文件,请用git add添加
nothing added to commit but untracked files present (use "git add" to track)
  • 修改了原来已有的文件(相当于把文件从本地仓库移到了暂存区),但是还未commit
$ git status
On branch master
Your branch is up-to-date with 'origin/master'.
Changes not staged for commit:
//使用git add命令更新需要commit的文件
  (use "git add <file>..." to update what will be committed)
//使用git checkout命令撤销修改
  (use "git checkout -- <file>..." to discard changes in working directory)
        modified:   index.html
//没有新文件需要add,然后commit
no changes added to commit (use "git add" and/or "git commit -a")

注:
1.新增文件第一次add之后,还没commit之前,可用git reset HEAD filename命令撤销,解除新增文件和git之间的关系,新增文件从暂存区移除,即把staged文件变为untracked文件
2.已经被git接管的文件,一经修改,该文件进入暂存区,提交到本地仓库时,可以不需要再使用add命令。
3.已经被git接管的文件,修改后,没commit之前用git checkout -- filename命令撤销本地文件修改,即将暂存区的文件恢复到之前状态,清空暂存区

  • git diff 顾名思义就是查看difference,显示的格式正是Unix通用的diff格式。
  • git log 命令显示从最近到最远的提交日志,我们可以看到3次提交,最近的一次是append GPL,上一次是add distributed,最早的一次是wrote a readme file。
  • git reflog 所有改动日志

文章著作权归本人所有,转载须说明来源。以上命令均为测试所得,如有出入,望指正。

相关文章

  • git 的使用

    有关git的使用总结一下,留着使用 git、svn区别 使用过程 svn基本使用过程 git基本使用过程 管理模式...

  • [Git使用] git基本使用

    GIT常用命令新建Git仓库,创建新文件夹 git init添加文件到git索引 git add

  • git的基本使用

    git的基本使用

  • 初识git,用git 上传项目到GitHub

    分享一些git基本指令,不喜勿喷! git的基本使用指令 git init 初始化git仓库 git add . ...

  • git 命令语法

    git 基本使用 git init // 初始化git仓库 git add . // git 添加 git co...

  • git远程仓库关联

    一.GitHub常用指令 git的基本使用指令:git init ...

  • Git 基本使用

    1.CentOS 7 安装Git 安装git所需要的库yum install curl-devel expat-d...

  • Git基本使用

    ps -ef | grep node | awk '{print $2}' | xargs kill -9git ...

  • Git基本使用

    1:先设置git配置文件 1.1 查看配置文件 1.2 设置对应用户名和邮箱 2:生成公钥和私钥 执行命令后需...

  • git 基本使用

    一、git全局设置 git全局配置修改 git config -e --global 进步全局配置文件,然后点击字...

网友评论

      本文标题:git的基本使用

      本文链接:https://www.haomeiwen.com/subject/xvaipttx.html