Git

80 阅读2分钟

Git常用命令

git config

获取并设置存储库或全局选项,以控制Git的外观和操作的各个方面。
配置文件被储存在三个可能的位置:

  1. /etc/gitconfig:包含了适用于系统所有用户和所有库的值,git config --system []将明确地读写此文件;
  2. ~/.gitconfig:具体用户的配置,git config --global []将明确地读写此文件;
  3. .git/config:位于git目录的config文件,特定指向单一的库。每个级别可重写前一个级别的配置值。
  • 安装Git后配置用户名和Email地址(传递了--global配置一次即可)
    $ git config --global user.name "username"  
    $ git config --global user.email "useremail"
    
  • 配置默认文本编辑器
    $ git config --global core.editor emacs
    
  • 检查查看配置信息
    $ git config --list  
    $ git config --system --list  
    $ git config --global --list  
    $ git config user.name
    
  • 添加或删除配置
    $ git config [–local(default)|global|system] –add section.key value
    $ git config [–local(default)|global|system] –unset section.key
    

git init

创建版本库,在这个仓库内的所有文件都会被Git管理,Git会跟踪各文件的修改、删除以便可能出现的还原。

$ git init  
Initialized empty Git repository in $your Path$

注:所有的版本控制系统只能跟踪文本文件的改动,例如.txt .html 以及所有代码文件等,但Microsoft的Word格式是二进制格式而非文本文档,所以使用Git无法跟踪。

git add

将文件从工作目录添加到暂存区,以准备提交。通常会将当前路径的所有内容作为一个整体添加,通过特定选项也可添加、修改、删除一些内容。必须运行在git commit之前。

$ git add .  \# 添加所有修改到暂存区  
$ git add path/\*.txt \# 添加所有path路径下.txt文件的修改到暂存区

git commit

将索引的当前内容与描述更改的用户和日志消息一起存储在新的提交。

$ git commit -m "commit msg"  
$ git commit --amend # 增补提交,会使用与当前提交节点相同的父节点进行一次新的提交,旧的提交将会被取消。

git push

将本地分支的更新,推送到远程主机。

# 将本地的`master`分支推送到`origin`主机的`master`分支。如果`master`不存在,则会被新建。   
$ git push origin master 
# 删除origin`主机的`master`分支   
$ git push origin :master 
# 推送本地分支`lbranch-1`到新的远程分支`rbranch-1`   
$ git push origin lbranch-1:refs/rbranch-1 
# 推送`lbranch-2`到已有的`rbranch-1`,用于补充`rbranch-1`:   
$ git checkout lbranch-2  
$ git rebase rbranch-1  
$ git push origin lbranch-1:refs/rbranch-1
$ gitk rbranch-1 \# 查看`push`的结果

Z}R)[]ME8ROU8[HLVJUSA.png

git clone

将存储库克隆到新目录中

$ git clone github.com/jquery/jque…

git staus

显示工作目录和暂存区的状态。使用此命令能看到那些修改被暂存到了, 哪些没有, 哪些文件没有被Git tracked到,在每次执行 git commit之前先使用git status检查文件状态是一个很好的习惯, 这样能防止你不小心提交了您不想提交的东西。

# Edit hello.py   
$ git status  
# hello.py is listed under "Changes not staged for commit" 
$ git add hello.py  
$ git status  
# hello.py is listed under "Changes to be committed"  
$ git commit  
$ git status  
# nothing to commit (working directory clean) 

git help

显示git的帮助信息

$ git help [-a|--all] [-g|--guide] [-i|--info|-m|--man|-w|--web] [COMMAND|GUIDE]  
$ git help config

Idea集成git

在Idea上clone git项目

选择如下方式创建新项目 image.png

填入git项目的地址以及放置于本地的地址 image.png

在Idea上提交 git项目的更新

  • 直接使用terminal命令行式进行操作 image.png
  • 右键需要提交的文件同样可进行commit image.png

同样push操作也有上述的两种方式。

注:可自己在github或gitee上创建git项目或者直接克隆已有的开源项目