Git 学习
博客专区 > ahucsxl 的博客 > 博客详情
Git 学习
ahucsxl 发表于2年前
Git 学习
  • 发表于 2年前
  • 阅读 51
  • 收藏 2
  • 点赞 1
  • 评论 0

腾讯云 十分钟定制你的第一个小程序>>>   

1、配置用户信息

命令:git config --global user.name"xxx"//配置用户名

          git config --global user.email"xxx"//配置用户邮箱

查看配置信息

命令:git config --list

2、在工作目录中初始化仓库

首先进入项目目录,然后使用命令:git init

3、从现有仓库克隆

命令:git clone [url]

            git clone -b [分支名] [url]

或命令:git clone [url] newname;  //newname为项目新名称

4、把文件纳入仓库

命令:git add AndroidManifest.xml;//加入文件

          git add src;//加入目录

          git add .//加入所有文件

5、提交

命令:git commit -m “First Commit”// -m为提交的描述信息,没有-m将视为非法

命令:git commit -a -m“xxx”//跳过暂存区域(跳过add步骤)直接commit

6、查看已暂存和未暂存的更新

未暂存命令:git status//仅显示修改的文件,红色表示未add,绿色表示未commit

未暂存命令:git diff//显示详细的修改详情,仅显示当前文件暂存区域的区别(已修改但未add和已add)

已暂存命令:git diff --staged//显示详细的修改详情,仅显示暂存区域上次提交快照的区别(已add但未commit和已commit)

7、移除文件

命令:git rm xxx //xx为文件名,注意此操作会删除原文件

最后提交的时候,该文件就不再纳入版本管理了。如果删除之前修改过并且已经放到暂存区域的话,则必须要用强制删除选项 -f(译注:即 force 的首字母),以防误删除文件后丢失修改的内容

命令:git rm --cached xxx //xx为文件名,仅从仓库中删除

8、重命名

命令:git mv oldname newname

9、查看提交历史

命令:git log

命令:git log -p -2//-p表示选项展开显示每次提交的内容差异,-2则仅显示最近的两次更新

命令:git log --stat//仅显示简要的增改行数统计

命令:git log --pretty//显示提交的概要信息

命令:git log --pretty=oneline//或short、full、fuller。。。显示提交的概要信息的不同方式

命令:git log --pretty=format//定制要显示的记录格式

例如:git log --pretty=format:"%h - %an, %ar : %s"//显示提交历史距离当前时间的时间间隔以及提交的概要信息

下面列出了常用的格式占位符写法及其代表的意义。

    选项 说明

    %H 提交对象(commit)的完整哈希字串

    %h 提交对象的简短哈希字串

    %T 树对象(tree)的完整哈希字串

    %t 树对象的简短哈希字串

    %P 父对象(parent)的完整哈希字串

    %p 父对象的简短哈希字串

    %an 作者(author)的名字

    %ae 作者的电子邮件地址

    %ad 作者修订日期(可以用 -date= 选项定制格式)

    %ar 作者修订日期,按多久以前的方式显示

    %cn 提交者(committer)的名字

    %ce 提交者的电子邮件地址

    %cd 提交日期

    %cr 提交日期,按多久以前的方式显示

    %s 提交说明

 

 

一些 git log 命令支持的选项其他常用的选项及其释义。

     选项 说明

    -p 按补丁格式显示每个更新之间的差异。

    --stat 显示每次更新的文件修改统计信息。

    --shortstat 只显示 --stat 中最后的行数修改添加移除统计。

    --name-only 仅在提交信息后显示已修改的文件清单。

    --name-status 显示新增、修改、删除的文件清单。

    --abbrev-commit 仅显示 SHA-1 的前几个字符,而非所有的 40 个字符。

    --relative-date 使用较短的相对时间显示(比如,“2 weeks ago”)。

    --graph 显示 ASCII 图形表示的分支合并历史。

    --pretty 使用其他格式显示历史提交信息。可用的选项包括 oneline,short,full,fuller 和 format(后跟指定格式)。

 

一些限制输出的选项。

     选项 说明

    -(n) 仅显示最近的 n 条提交

    --since, --after 仅显示指定时间之后的提交。

    --until, --before 仅显示指定时间之前的提交。

    --author 仅显示指定作者相关的提交。

    --committer 仅显示指定提交者相关的提交。

 

使用可视化工具

命令:gitk

10、撤消操作

修改最后一次提交

命令:git commit --amend

 /*任何提交到git的都可以被恢复*/
 

11、远程仓库的使用

克隆远程仓库命令:git clone http:...

查看当前配置有哪些远程仓库命令:git remote -v

添加远程仓库命令:git remote [shortname] [url]

从远程仓库抓取数据命令:git fetch[remote-name]

推送数据到远程仓库:git push [remote-name][branch-name]

查看远程仓库信息:git remote show[remote-name]

12、git技巧和窍门

自动补全命令:两次Tab键

命令别名:git config --global alias.ci commit// 将commit命令改为ci

13、分支结构

创建分支命令:git branch name//

切换分支命令:git checkout name//

创建并切换分支命令:git checkout -b name//

删除分支命令:git branch -d name//

合并分支命令:git merge name//

14、分支管理

显示所有分支命令:git branch

显示所有分支详细信息命令:git branch -v

推送本地分支命令:git push [仓库名][分支名]

同步远程服务器数据:git fetch [仓库名]

在远程分支基础上在本地分化出一个新分支:git checkout -b [本地分支名] [远程仓库名]/[远程分支名]//例如git checkout ser origin/ser(或者git checkout --track [远程仓库名]/[远程分支名])

删除远程分支:git push [远程仓库名]:[分支名]

15、分支衍合

衍合命令:git rebase master

服务器上的Git

本地协议:这也是从别人工作目录中获取工作成果的快捷方法。假如你和你的同事在一个项目中合作,他们想让你检出一些东西的时候,运行类似 git pull /home/john/project 通常会比他们推送到服务器,而你再从服务器获取简单得多。

SSH协议:唯一一个同时支持读写操作的网络协议

共有 人打赏支持
粉丝 0
博文 56
码字总数 39098
×
ahucsxl
如果觉得我的文章对您有用,请随意打赏。您的支持将鼓励我继续创作!
* 金额(元)
¥1 ¥5 ¥10 ¥20 其他金额
打赏人
留言
* 支付类型
微信扫码支付
打赏金额:
已支付成功
打赏金额: