首页 > 其他分享 >git相关的简单命令

git相关的简单命令

时间:2023-07-12 16:31:52浏览次数:43  
标签:文件 git 克隆 命令 add 提交 简单

初次使用建议看这个ppt:http://www.bootcss.com/p/git-guide/ 

 

从现有仓库克隆

这需要用到 git clone 命令。如果你熟悉其他的 VCS 比如 Subversion,你可能已经注意到这里使用的是 clone 而不是 checkout。这是个非常重要的差别,Git 收取的是项目历史的所有数据(每一个文件的每一个版本),服务器上有的数据克隆之后本地也都有了。实际上,即便服务器的磁盘发生故障,用任何一个克隆出来的客户端都可以重建服务器上的仓库,回到当初克隆时的状态(虽然可能会丢失某些服务器端的挂钩设置,但所有版本的数据仍旧还在)

克隆仓库的命令格式为 git clone [url]。比如,要克隆 Ruby 语言的 Git 代码仓库 Grit,可以用下面的命令:

$ git clone git://github.com/schacon/grit.git

这会在当前目录下创建一个名为grit的目录,其中包含一个 .git 的目录,用于保存下载下来的所有版本记录,然后从中取出最新版本的文件拷贝。如果进入这个新建的 grit 目录,你会看到项目中的所有文件已经在里边了,准备好后续的开发和使用。如果希望在克隆的时候,自己定义要新建的项目目录名称,可以在上面的命令末尾指定新的名字:

$ git clone git://github.com/schacon/grit.git mygrit

唯一的差别就是,现在新建的目录成了 mygrit,其他的都和上边的一样。

Git 支持许多数据传输协议。之前的例子使用的是 git:// 协议,不过你也可以用 http(s):// 或者 user@server:/path.git 表示的 SSH 传输协议。

 

跟踪新文件

使用命令 git add 开始跟踪一个新文件。所以,要跟踪 README 文件,运行:

$ git add README

此时再运行 git status 命令,会看到 README 文件已被跟踪,并处于暂存状态:

$ git status
    # On branch master
    # Changes to be committed:
    # (use "git reset HEAD <file>..." to unstage)
    #
    # new file: README
    #

只要在 “Changes to be committed” 这行下面的,就说明是已暂存状态。如果此时提交,那么该文件此时此刻的版本将被留存在历史记录中。

git add 后面可以指明要跟踪的文件或目录路径。如果是目录的话,就说明要递归跟踪该目录下的所有文件。(译注:其实 git add 的潜台词就是把目标文件快照放入暂存区域,也就是 add file into staged area,同时未曾跟踪过的文件标记为需要跟踪。这样就好理解后续 add 操作的实际意义了。)

git add .

把该目录下的所有文件全部提交到缓冲区

 

提交更新

现在的暂存区域已经准备妥当可以提交了。在此之前,请一定要确认还有什么修改过的或新建的文件还没有 git add 过,否则提交的时候不会记录这些还没暂存起来的变化。所以,每次准备提交前,先用 git status 看下,是不是都已暂存起来了,然后再运行提交命令 git commit

$ git commit

这种方式会启动文本编辑器以便输入本次提交的说明。(默认会启用 shell 的环境变量 $EDITOR 所指定的软件,一般都是 vim 或 emacs。当然也可以按照第一章介绍的方式,使用 git config --global core.editor 命令设定你喜欢的编辑软件。)

编辑器会显示类似下面的文本信息(本例选用 Vim 的屏显方式展示):

# Please enter the commit message for your changes. Lines starting
    # with '#' will be ignored, and an empty message aborts the commit.
    # On branch master
    # Changes to be committed:
    # (use "git reset HEAD <file>..." to unstage)
    #
    # new file: README
    # modified: benchmarks.rb
    ~
    ~
    ~
    ".git/COMMIT_EDITMSG" 10L, 283C

可以看到,默认的提交消息包含最后一次运行 git status 的输出,放在注释行里,另外开头还有一空行,供你输入提交说明。你完全可以去掉这些注释行,不过留着也没关系,多少能帮你回想起这次更新的内容有哪些。(如果觉得这还不够,可以用 -v 选项将修改差异的每一行都包含到注释中来。)退出编辑器时,Git 会丢掉注释行,将说明内容和本次更新提交到仓库。

另外也可以用 -m 参数后跟提交说明的方式,在一行命令中提交更新:

$ git commit -m "Story 182: Fix benchmarks for speed"
    [master]: created 463dc4f: "Fix benchmarks for speed"
    2 files changed, 3 insertions(+), 0 deletions(-)
    create mode 100644 README

 

 

推送数据到远程仓库

项目进行到一个阶段,要同别人分享目前的成果,可以将本地仓库中的数据推送到远程仓库。实现这个任务的命令很简单:git push [remote-name] [branch-name]。如果要把本地的 master 分支推送到 origin 服务器上(再次说明下,克隆操作会自动使用默认的 master 和 origin 名字),可以运行下面的命令:

$ git push origin master

只有在所克隆的服务器上有写权限,或者同一时刻没有其他人在推数据,这条命令才会如期完成任务。如果在你推数据前,已经有其他人推送了若干更新,那你的推送操作就会被驳回。你必须先把他们的更新抓取到本地,合并到自己的项目中,然后才可以再次推送

参考资料:

Pro Git(中文版)

标签:文件,git,克隆,命令,add,提交,简单
From: https://blog.51cto.com/u_15588078/6701915

相关文章

  • 简单记录个启动脚本
    #!/bin/bash#/etc/profileDataPath="/cloud/sync/syncData"echo"[info][$(date+'%F%H:%M:%S')]正在监控syncData,路径:$DataPath"pid=`ps-ef|grepsyncData|grep-w$DataPath|grep-v'grep'|awk'{print$2}'......
  • 一行命令快速开启 http 文件下载上传服务器
    用Python快速实现HTTP服务器SimpleHTTPServer模块可以把你指定目录中的文件和文件夹以一个简单的Web页面的方式展示出来。SimpleHTTPServer模块默认会在8000端口上监听一个HTTP服务,这时就可以打开浏览器输入http://IP:Port访问这个Web页面。例如类似下面的URL:h......
  • 多个git项目库之间的cherry-pick操作
    https://blog.csdn.net/qq_40102178/article/details/123378200?spm=1001.2101.3001.6661.1&utm_medium=distribute.pc_relevant_t0.none-task-blog-2%7Edefault%7ECTRLIST%7ERate-1-123378200-blog-124149294.235%5Ev38%5Epc_relevant_default_base&depth_1-utm_sour......
  • jenkins部署及gitlab联调
    jenkins部署及gitlab联调目录jenkins部署及gitlab联调一、jenkins安装1.环境优化2.安装jdkjava环境3.下载jenkins4.启动Jenkins服务5.上个步骤执行成功后,会弹出下面的对话框,我们点击关闭即可6.Jenkins的目录介绍7.修改Jenkins密码二、Jenkins插件安装实战篇1.点击系统管理2>.......
  • os: pv 命令 - 显示数据处理的进度条
    os:pv命令 - 显示数据处理的进度条    一、pv 命令 1、pv 命令功能:显示数据处理的进度条 2、pv 命令安装:sudo apt install -y  pvdnf install -y   pv 3、pv 命令说明:[wit@ontmp]$pv--hel......
  • 4Git学习笔记
    一、Sourcetree1.使用SourceTree之前必须要先安装Git和sourceTree(gitee免费版最多可5个成员)。2.加入代码仓,需申请邀请链接。3.加入代码仓,成为的的项目开发成员之后,首先将该远程仓clone(克隆)到自己本地,作为自己的本地仓,“5-27-dq”这个仓库有两个分支,选着dev开发分支进行远程提交......
  • 讲真,这3个命令不会用等于白混
    下午好,我的网工朋友。前两期更的网络故障排障命令和案例合集,不少朋友都在催更。这篇就给你们继续安排上,最后一期了哈。前两期还没看过的,看这:《排障还能这么玩?教你5个好用命令(上)》《排障还能这么玩?教你5个好用命令(中)》除了Ping、Traceroute,最后再教你三个好用命令:Show、Clear、Debug......
  • 轨迹,简单轨迹
        [{"x":0,"y":0,"type":"down","t":2687},{"x":5,"y":0,"type":"move","t":2756},{"x":11,"y":-1,"type":"move",&qu......
  • python 的命令行参数使用ArgumentParser
    argparse是一个python模块,用途是:命令行执行选项、参数和子命令的解释importargparse #创建解释器parser=argparse.ArgumentParser()#添加参数parser.add_argument('-g','--good',choices=['yuwen','shuxue'])#'-g'代表短选项,在命令行输入-g和-good效果一样,作......
  • Git Bash安装
    一、Git1、下载Git-Downloads(git-scm.com) 2、直接安装(略) 二、配置阿里云1、打开GitBash2、查看已有SSH密钥cat~/.ssh/id_rsa.pub3、如果没有则生成SSH密钥ssh-keygen-trsa-C"<注释内容>"一直回车就可以了!4、拷贝生成好的公钥cat~/.ssh/id_ed255......