文档章节

git

xpttxsok
 xpttxsok
发布于 2016/07/14 22:31
字数 1960
阅读 3
收藏 1
点赞 0
评论 0
1.创建目录:
mkdir rocketmq

2.进入目录:
cd rocketmq

3.初始化版本库
git init

4.查看init干了些啥
ls -lat
drwx------+ 22 xupan  staff  704  1 30 22:57 ..
drwxr-xr-x   9 xupan  staff  288  1 30 22:56 .git
drwxr-xr-x   3 xupan  staff   96  1 30 22:56 .

5.ls .git
HEAD		config		description	hooks		info		objects		refs

解释:.git目录下就是版本库信息,所有的版本信息都在.git下面
conf:
HEAD:
hooks:钩子
objects:对象的集合


--------
6.第一次提交
新建一个文件,因为要做版本控制,首先要将新建文件纳入版本控制:
touch README.txt

git status
On branch master
Untracked files:
  (use "git add <file>..." to include in what will be committed)

	README2.txt

nothing added to commit but untracked files present (use "git add" to track)
xpMac:rocketmq xupan$ 
---------


7.纳入版本库,监控工作区的状态树,使用它会把工作时的所有变化提交到暂存区,包括文件内容修改(modified)以及新文件(new),但不包括被删除的文
git add README.txt

8.查看文件现在的状态
git status
On branch master
Changes to be committed:
  (use "git reset HEAD <file>..." to unstage)

	new file:   README.txt


9.提交:
git commit

。。。。。。。

 

 

 

几个专用名词的译名如下。
        Workspace:工作区
        Index / Stage:暂存区
        Repository:仓库区(或本地仓库)
        Remote:远程仓库


//获取远程项目
git clone https://github.com/xpttxsok123/springboot.git


//创建data.txt
git status
On branch master
Your branch is up to date with 'origin/master'.
分支位于master

Untracked files:
  (use "git add <file>..." to include in what will be committed)
  使用git add以包含要提交的内容

	data.txt

nothing added to commit but untracked files present (use "git add" to track)
提交为空,未跟踪的文件已经出现,使用git add建立跟踪




//添加data.txt到暂存区
xpMac:springboot xupan$ git add data.txt 
xpMac:springboot xupan$ 
xpMac:springboot xupan$ 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)//使用git reset撤销暂存区

	new file:   data.txt//新文件data.txt

xpMac:springboot xupan$ 


//提交文件
xpMac:springboot xupan$ git commit


# Please enter the commit message for your changes. Lines starting
# with '#' will be ignored, and an empty message aborts the commit.
#
# On branch master
# Your branch is up to date with 'origin/master'.
#
# Changes to be committed:
#       new file:   data.txt


//提交后查看状态
xpMac:springboot xupan$ git status
On branch master
Your branch is ahead of 'origin/master' by 1 commit.
  (use "git push" to publish your local commits)//使用git push 发布你的本地提交

nothing to commit, working tree clean//没有文件可以提交



//git push 推送到GitHub
git push
//输入username,password



//再次查看状态
xpMac:springboot xupan$ git status
On branch master
Your branch is up to date with 'origin/master'.

nothing to commit, working tree clean











一、新建代码库
        # 在当前目录新建一个Git代码库
        $ git init

        # 新建一个目录,将其初始化为Git代码库
        $ git init [project-name]

        # 下载一个项目和它的整个代码历史
        $ git clone [url]

二、配置
Git的设置文件为.gitconfig,它可以在用户主目录下(全局配置),也可以在项目目录下(项目配置)。
        # 显示当前的Git配置
        $ git config --list

        # 编辑Git配置文件
        $ git config -e [--global]

        # 设置提交代码时的用户信息
        $ git config [--global] user.name "[name]"
        $ git config [--global] user.email "[email address]"
        如:git config --global user.name "胥攀"
           可以配置自己的email
           git config --global user.email "你的Email"


三、增加/删除文件
        # 添加指定文件到暂存区
        $ git add [file1] [file2] ...

        # 添加指定目录到暂存区,包括子目录
        $ git add [dir]

        # 添加当前目录的所有文件到暂存区
        $ git add .

        # 删除工作区文件,并且将这次删除放入暂存区
        $ git rm [file1] [file2] ...

        # 停止追踪指定文件,但该文件会保留在工作区
        $ git rm --cached [file]

        # 改名文件,并且将这个改名放入暂存区
        $ git mv [file-original] [file-renamed]



四、代码提交
        # 提交暂存区到仓库区
        $ git commit -m [message]

        # 提交暂存区的指定文件到仓库区
        $ git commit [file1] [file2] ... -m [message]

        # 提交工作区自上次commit之后的变化,直接到仓库区
        $ git commit -a

        # 提交时显示所有diff信息
        $ git commit -v

        # 使用一次新的commit,替代上一次提交
        # 如果代码没有任何新变化,则用来改写上一次commit的提交信息
        $ git commit --amend -m [message]

        # 重做上一次commit,并包括指定文件的新变化
        $ git commit --amend   ...



五、分支
    # 列出所有本地分支
    $ git branch

    # 列出所有远程分支
    $ git branch -r

    # 列出所有本地分支和远程分支
    $ git branch -a

    # 新建一个分支,但依然停留在当前分支
    $ git branch [branch-name]

    # 新建一个分支,并切换到该分支
    $ git checkout -b [branch]

    # 新建一个分支,指向指定commit
    $ git branch [branch] [commit]

    # 新建一个分支,与指定的远程分支建立追踪关系
    $ git branch --track [branch] [remote-branch]

    # 切换到指定分支,并更新工作区
    $ git checkout [branch-name]

    # 建立追踪关系,在现有分支与指定的远程分支之间
    $ git branch --set-upstream [branch] [remote-branch]

    # 合并指定分支到当前分支
    $ git merge [branch]

    # 选择一个commit,合并进当前分支
    $ git cherry-pick [commit]

    # 删除分支
    $ git branch -d [branch-name]

    # 删除远程分支
    $ git push origin --delete 
    $ git branch -dr 



 六、标签
    # 列出所有tag
    $ git tag

    # 新建一个tag在当前commit
    $ git tag [tag]

    # 新建一个tag在指定commit
    $ git tag [tag] [commit]

    # 查看tag信息
    $ git show [tag]

    # 提交指定tag
    $ git push [remote] [tag]

    # 提交所有tag
    $ git push [remote] --tags

    # 新建一个分支,指向某个tag
    $ git checkout -b [branch] [tag]


 七、查看信息

    # 显示有变更的文件
    $ git status

    # 显示当前分支的版本历史
    $ git log

    # 显示commit历史,以及每次commit发生变更的文件
    $ git log --stat

    # 显示某个文件的版本历史,包括文件改名
    $ git log --follow [file]
    $ git whatchanged [file]

    # 显示指定文件相关的每一次diff
    $ git log -p [file]

    # 显示指定文件是什么人在什么时间修改过
    $ git blame [file]

    # 显示暂存区和工作区的差异
    $ git diff

    # 显示暂存区和上一个commit的差异
    $ git diff --cached []

    # 显示工作区与当前分支最新commit之间的差异
    $ git diff HEAD

    # 显示两次提交之间的差异
    $ git diff [first-branch]...[second-branch]

    # 显示某次提交的元数据和内容变化
    $ git show [commit]

    # 显示某次提交发生变化的文件
    $ git show --name-only [commit]

    # 显示某次提交时,某个文件的内容
    $ git show [commit]:[filename]

    # 显示当前分支的最近几次提交
    $ git reflog

 八、远程同步
    # 下载远程仓库的所有变动
    $ git fetch [remote]

    # 显示所有远程仓库
    $ git remote -v

    # 显示某个远程仓库的信息
    $ git remote show [remote]

    # 增加一个新的远程仓库,并命名
    $ git remote add [shortname] [url]

    # 取回远程仓库的变化,并与本地分支合并
    $ git pull [remote] [branch]

    # 上传本地指定分支到远程仓库
    $ git push [remote] [branch]

    # 强行推送当前分支到远程仓库,即使有冲突
    $ git push [remote] --force

    # 推送所有分支到远程仓库
    $ git push [remote] --all


 九、撤销
    # 恢复暂存区的指定文件到工作区
    $ git checkout [file]

    # 恢复某个commit的指定文件到工作区
    $ git checkout [commit] [file]

    # 恢复上一个commit的所有文件到工作区
    $ git checkout .

    # 重置暂存区的指定文件,与上一次commit保持一致,但工作区不变
    $ git reset [file]

    # 重置暂存区与工作区,与上一次commit保持一致
    $ git reset --hard

    # 重置当前分支的指针为指定commit,同时重置暂存区,但工作区不变
    $ git reset [commit]

    # 重置当前分支的HEAD为指定commit,同时重置暂存区和工作区,与指定commit一致
    $ git reset --hard [commit]

    # 重置当前HEAD为指定commit,但保持暂存区和工作区不变
    $ git reset --keep [commit]

    # 新建一个commit,用来撤销指定commit
    # 后者的所有变化都将被前者抵消,并且应用到当前分支
    $ git revert [commit]


 十、其他
    # 生成一个可供发布的压缩包
    $ git archive









 

© 著作权归作者所有

共有 人打赏支持
xpttxsok
粉丝 5
博文 174
码字总数 101229
作品 0
徐汇
程序员

暂无文章

shell中的函数、shell中的数组、告警系统需求分析

shell中的函数 格式: 格式: function f_name() { command } 函数必须要放在最前面 示例1(用来打印参数) 示例2(用于定义加法) 示例3(用于显示IP) shell中的数组 shell中的数组1 定义数...

Zhouliang6
35分钟前
1
0
用 Scikit-Learn 和 Pandas 学习线性回归

      对于想深入了解线性回归的童鞋,这里给出一个完整的例子,详细学完这个例子,对用scikit-learn来运行线性回归,评估模型不会有什么问题了。 1. 获取数据,定义问题     没有...

wangxuwei
56分钟前
0
0
MAC安装MAVEN

一:下载maven压缩包(Zip或tar可选),解压压缩包 二:打开终端输入:vim ~/.bash_profile(如果找不到该文件新建一个:touch ./bash_profile) 三:输入i 四:输入maven环境变量配置 MAVEN_HO...

WALK_MAN
今天
0
0
33.iptables备份与恢复 firewalld的9个zone以及操作 service的操作

10.19 iptables规则备份和恢复 10.20 firewalld的9个zone 10.21 firewalld关于zone的操作 10.22 firewalld关于service的操作 10.19 iptables规则备份和恢复: ~1. 保存和备份iptables规则 ~2...

王鑫linux
今天
1
0
大数据教程(2.11):keeperalived+nginx高可用集群搭建教程

上一章节博主为大家介绍了目前大型互联网项目的系统架构体系,相信大家应该注意到其中很重要的一块知识nginx技术,在本节博主将为大家分享nginx的相关技术以及配置过程。 一、nginx相关概念 ...

em_aaron
今天
0
0
Apache Directory Studio连接Weblogic内置LDAP

OBIEE默认使用Weblogic内置LDAP管理用户及组。 要整理已存在的用户及组,此前办法是导出安全数据,文本编辑器打开认证文件,使用正则表达式获取用户及组的信息。 后来想到直接用Apache Dire...

wffger
今天
2
0
HFS

FS,它是一种上传文件的软件。 专为个人用户所设计的 HTTP 档案系统 - Http File Server,如果您觉得架设 FTP Server 太麻烦,那么这个软件可以提供您更方便的档案传输系统,下载后无须安装,...

garkey
今天
1
0
Java IO类库之BufferedInputStream

一、BufferedInputStream介绍 /** * A <code>BufferedInputStream</code> adds * functionality to another input stream-namely, * the ability to buffer the input and to * sup......

老韭菜
今天
0
0
STM 32 窗口看门狗

http://bbs.elecfans.com/jishu_805708_1_1.html https://blog.csdn.net/a1985831055/article/details/77404131...

whoisliang
昨天
0
0
Dubbo解析(六)-服务调用

当dubbo消费方和提供方都发布和引用完成后,第四步就是消费方调用提供方。 还是以dubbo的DemoService举例 -- 提供方<dubbo:application name="demo-provider"/><dubbo:registry address="z...

青离
昨天
1
0

没有更多内容

加载失败,请刷新页面

加载更多

下一页

返回顶部
顶部