文档章节

git

xpttxsok
 xpttxsok
发布于 2016/07/14 22:31
字数 1960
阅读 3
收藏 1
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
博文 176
码字总数 105161
作品 0
徐汇
程序员

暂无文章

jQuery学习笔记180923

jQuery 操作 CSS jQuery 拥有若干进行 CSS 操作的方法。我们将学习下面这些: addClass() - 向被选元素添加一个或多个类 removeClass() - 从被选元素删除一个或多个类 toggleClass() - 对被选...

颖伙虫
28分钟前
1
0
[python] colorama 模块 - 改变控制台输出文本的颜色

除了使用 PyQt 这样的图形化开发框架外,基本上 python 程序都是跑在控制台中的。很多时候,单纯使用黑白的文字不能很好地突出我们要显示的信息。有时候我们需要将错误的提示使用红色标注,而...

cometeme
33分钟前
1
0
Makefile 学习 2 - 基于若干 Blog 的汇总

基于若干 Blog 汇总的 makefile 教程 陈皓 https://blog.csdn.net/haoel/article/details/2886 Makefile 进阶 1. Makefile 中的内容 显式规则。显式规则说明了,如何生成一个或多的的目标文件...

公孙衍
49分钟前
1
0
NIO与BIO的区别、NIO的运行原理和并发使用场景

NIO(Non-blocking I/O,在Java领域,也称为New I/O),是一种同步非阻塞的I/O模型,也是I/O多路复用的基础,已经被越来越多地应用到大型应用服务器,成为解决高并发与大量连接、I/O处理问题的...

Java干货分享
今天
1
0
72.告警系统邮件引擎 运行告警系统

20.23/20.24/20.25 告警系统邮件引擎 20.26 运行告警系统 20.23/20.24/20.25 告警系统邮件引擎 邮件首先要有一个mail.py,以下。 因为我们之前zabbix的时候做过,就可以直接拷贝过来 mail.s...

王鑫linux
今天
1
0

没有更多内容

加载失败,请刷新页面

加载更多

返回顶部
顶部