[VIP]Git常用命令-Jay

更新时间:2023-05-12 21:44:23 阅读: 评论:0

快捷命令设置
git config --global alias.st status摩擦力大小与什么有关
git config --global alias.ci commit
git config -- checkout
git config --global alias.br branch
git config --global alias.dc dcommit
git config --global alias.rb reba
彩色交互界面
git config --global color.branch auto
git config --global color.diff auto
git config --global color.interactive auto
git config --global color.status auto
设置用户信息
git config --global ur.name "jianingy"
git config --ail
设置远程仓库
小荷花
# 添加(origin 为一个标示,可以随意更换)
git remote add origin :bamboo/mainline.git
# 删除
git remote remove origin
操作远程仓库
# 添加(origin 为一个标示,可以随意更换)
git remote add origin :bamboo/mainline.git
# 删除
git remote remove origin
基本操作
# 提交修改
git add /path/to/file
git commit -m reason
# 提交全部修改
git commit -a -m reason
# 创建本地分枝
git co -b branch_name
# 查看分枝
git branch
# 删除分枝
git branch -D branch_name
# 查看分支之间的差异
git diff master branch
# 查看最新版本和上一个版本的差异(一个^表示向前推进一个版本)
git diff HEAD HEAD^
# 查看状态
git status
# 合并分支
git pull . branch
# 销毁自己的修改
git ret –hard
与svn互操作
# 从subversion仓库中克隆
git svn clone <a href="/svn" title="/svn">/svn</a> --urname detrox
# 将本地修改提交到subversion仓库
git svn dcommit
# 导入新的subversion更新
git svn reba
[基本仓库]: 拥有 GIT 仓库的人需要的命令——也就是所有人,因为 git 的每个工作拷贝都是一个仓库。
之后,[个人开发者 (独立工作)]: 任何需要进行 commit 的人都需要的命令,即使是一个人工作的情况。
如果你和其他人一起工作,你还需要列在[个人开发者 (参与者)]小节的命令。
扮演[集成者]角色的人还需要学习这一节中的命令。
[仓库管理]命令是给哪些负责维护 GIT 仓库的系统管理员的。
基本仓库
所有人都可以用这些命令来维护 git 仓库。
git-init(1) 或 git-clone(1) : 创建一个新仓库。
git-fsck(1) : 检查仓库的错误。
git-gc(1) 进行日常维护工作,如 repack 或 prune。
实例:
检查健康状况并去除无用的内容 (译注:cruft 不知如此翻译是否妥当,git-gc 基本是这个含义)。
$ git fsck (1)
$ git count-objects (2)
$ git gc (3)
1. 不加–full参数的情况下,这个命令一般会以非常低廉的代价确保仓库在一个不错的健康状态之中。
2. 统计有多少松散的对象,没有 repack 的对象消耗了多少硬盘空间。
3. 在本地仓库进行 repack,并进行其他日常维护工作。
将一个小项目 repack 进入一个单独的 pack。
$ git gc (1)
1. 将所有可以从 refs 访问到的对象都打包添加进一个 pack,然后删除其他 pack。
咸鱼怎么做个人开发者 (独立工作)
独立工作的个人开发者不需要和其他人交换补丁,在单一的仓库中独自工作,通常会用到这些命令。
git-show-branch(1): 查看当前的分支位置。
git-log(1):查看发生了些什么。
学习表现git-checkout(1) 和 git-branch(1):在分支间切换。
git-add(1):管理索引文件。
git-diff(1)和git-status(1):查看正在改动些什么。
git-commit(1):向前推进当前分支。
git-ret(1) 和 (带有路径参数的)git-checkout(1):撤销变更。
git-merge(1):合并两个本地分支。
git-reba(1):维护局部分支。(译 注:git reba 的工作大致是这样:原来在本地基于上游版本v,进行了一些改进,现在上游版本进化到了v+n,这时,在本地将基础首先进化到 v+n,然后把对 v 提交的、但还没进入 v+n 的 commit 加入到 v+n,其中可能会有冲突,这可能需要进行一些冲突处理,这里的这个在上游版本基础上添加内容而成的分支称为 topic 分支,这里翻译为局部分支。)
git-tag(1):标记标签。
实例:
以一个 tarball 来作为新仓库的起点。
$ tar zxf
$ cd frotz
$ git-init
$ git add . (1)
$ git commit -m “import of frotz source tree.”
$ git tag v2.43 (2)
1. 将当前目录的所有内容加入仓库。三菜一汤
2. 添加一个轻量级的,没有注释的标签。
简历一个局部分支并进行开发。
$ git checkout -b alsa-audio (1)
$ edit/compile/test
$ git checkout — curs/ux_audio_oss.c (2)
$ git add curs/ux_audio_alsa.c (3)
$ edit/compile/test
$ git diff HEAD (4)
$ git commit -a -s (5)
$ edit/compile/test
$ git ret –soft HEAD^ (6)
$ edit/compile/test
$ git diff ORIG_HEAD (7)
$ git commit -a -c ORIG_HEAD (8)
$ git checkout master (9)
$ git merge alsa-audio (10)
$ git log –since=’3 days ago’ (11)
$ git log v2.43.. curs/ (12)
1. 创建一个新的局部分支。
2. 取消对幼儿舞蹈班curs/ux_audio_oss.c的修改。
3. 如果添加了文件的话,需要告诉 git;而删除或修改文件的话,一会的 git commit -a 就可以处理了。
4. 查看将会提交哪些变更。
5. 签署并提交所有你测试过的内容。
6. 回到上一个 commit,但保存工作拷贝中的内容。
7. 查看自从上一个我们取回的不成熟提交以来的所有变更。
8. 重新进行上一步中没有完成的提交,使用你自己写的提交信息。
9. 切换到 master 分支。
10. 将局部分支合并入你的主分支。
11. 检查提交日志;其他的可以一起用上的输出选择方式包括–max-count=10 (最多显示10个commit), –until=2005-12-10 等等。
12. 只查看curs/ 目录中,v2.43标签以来的变更。
个人开发者 (参与者)
在一个小组中参与协同工作的开发者需要学会下面一些命令,以和他人沟通,同时也需要独立的开发者们会用到的命令。
git-clone(1):从上游来复制出本地仓库。
git-pull(1) 和 git-fetch(1):同上游保持同步更新。
git-push(1):共享仓库,这是是用 CVS 风格的情况下共享仓库的方法。
git-format-patch(1):准备邮件形式提交补丁,如果采用 Linux 内核风格的工作方法。
实例:
克隆上游源,并在此基础上工作。最后,将变更送回到上游。围湖造田
$ git clone git:///pub/scm/…/torvalds/linux-2.6 my2.6
$ cd my2.6
$ edit/compile/test; git commit -a -s (1)
$ git format-patch origin (2)
$ git pull (3)
$ git log -p ORIG_HEAD.. arch/i386 include/asm-i386 (4)
$ git pull git:///pub/…/jgarzik/libata-dev.git ALL (5)
$ git ret –hard ORIG_HEAD (6)
$ git gc (7)
$ git fetch –tags (8)
1. 若干次类似操作。
2. 从本地分支输出 email 形式的补丁用于提交。
3. git pullorigin取出更新并合并如当前分支。
4. 取出之后,查看上次取出后上游产生的变更,只观察我们感兴趣的部分。
5. 从某仓库的某分支取出变更并合并。
6. 回退上一次取出的内容。
7. 用垃圾回收去掉上次回退造成的残余物。
8. 时常从origin取出标签信息,并放到.git/refs/tags/目录下。
推送入另一个仓库。

本文发布于:2023-05-12 21:44:23,感谢您对本站的认可!

本文链接:https://www.wtabcd.cn/fanwen/fan/82/604810.html

版权声明:本站内容均来自互联网,仅供演示用,请勿用于商业和其他非法用途。如果侵犯了您的权益请与我们联系,我们将在24小时内删除。

标签:仓库   分支   提交   需要   工作   开发者   进行   查看
相关文章
留言与评论(共有 0 条评论)
   
验证码:
推荐文章
排行榜
Copyright ©2019-2022 Comsenz Inc.Powered by © 专利检索| 网站地图