首页 > 代码库 > git 总结
git 总结
- git 常用操作
- ...
- 参考文档
请等待更新...
- 配置 git
git 外观行为的控制变量通常存在于三个地方,
/etc/gitconfig
,~/.gitconfig or ~/.config/git/config
,$PRJ/.git/config/
,这三个文件可以以次被 git 的三个参数修改,git config --system
,git config --global
,git config --local/(OR NOTHING)
,当然也可以手动去修改之。在运行 git 的时候最靠近执行命令的配置会覆盖之前的配置(比如命令行的会覆盖工程目录下的.git
)。首先需要配置的是用户名(git config user.name "jason"
),和联系的 email(git config user.email "xxx@xxx.com"
),然后如果觉得 git 默认的编辑器(emacs)不好用,可以修改之(git config --global core.edit vim
)。如果想查看 git 的所有配置信息(git config --list
)。 - 利用 git 管理现有工程
可以跳转到工程目录运行
git init
。该命令将创建一个名为 .git 的子目录,这个子目录含有你初始化的 Git 仓库中所有的必须文件。 - 查看当前工程代码管理状态
运行
git status
会显示当前分支,当前 HEAD 所指向版本的状态,如果工作目录中存在未跟踪的文件,status 将会将违背跟踪的文件或者目录以红色(默认)显示在Untracked files:
这行提示信息下。如果工程中相对于暂存去中的跟踪文件发生了变动,status 则会在Changes not staged for commit:
下提示发生变动的文件。如果工程中存在已加入暂存区中的内容(但未提交),则会在Changes to be committed:
下提示哪些文件正存在与暂存区,输出状态会以下面这几个关键词修饰文件所发生的变动,
new file, modified, delete
,这些修饰词的存在将非常方便的帮助我们管理我们的代码。但我过你觉得过于繁琐,可使用git status -s
,该命令可以一更加精简的方式输出状态信息。比如:$ git status -s M README MM Rakefile A lib/git.rb M lib/simplegit.rb ?? LICENSE.txt --- []M 表示修改了未加入暂存区 MM 历史修改已经加入暂存区,新修改内容未放入暂存区 M[] 历史修改已经加入暂存区 A[] 新增文件已加入暂存区 []A ?? 新添加的未跟踪文件
- 让 git 跟踪你和暂存工作中的内容
在 git 仓库下运行
git add file_path/dir_path
,如果你想仅仅暂存一个文件中的部分,可附加上--patch
选项,该选项会以交付的方式让你选择你想要的 patch。当然 git 也提供了一个更为直观方便的模式来进行这些操作(git add -i
)。 - 代码提交
如果只是输入简短的说明可以直接运行
git commit -m "comment"
, 如果想保留更加详细的信息则运行git commit
. - 克隆仓库
git 支持从文件路径,http/https, ssh-server 的方式克隆仓库,基本用法如下:
git clone dir_path
,git clone https://github.com/git/git.git
,git clone git@github.com:git/git.git
。 - 查看当前分支
查看当前工程检出的分支:
git branch
;查看所有分支:git branch -a
。 - 查看工程中版本差异
查看已修改,但未暂存到目录中的改动
git diff
, 如果想查看已经加入暂存区但是还未提交的文件改动可使用git diff --staged
或者git diff --cache
,两者的效果是一样的。 - 拉取最新代码
git pull
(等价于git fetch && git checkout
)。 - 推送代码
git push
- 合并分支
git meger
- 暂存当前开发进度
git stash
- 子模块
git submode add url
- 回滚
git reset
请等待更新...
请等待更新...
- [link] git 官方文档
git 总结