# Git常用命令

\[TOC]

## 1. 配置使用默认密码

```
cd ~



echo "https://eager7:pct1197639@github.com" > .git-credentials



git config --global credential.helper store
可以看到~/.gitconfig文件，会多了一项：



[credential]



    helper = store
```

## 2. 使用vim作为默认的编辑器

```
git config --global core.editor vim
```

## 3. 基本使用命令

### 3.1 查看本地版本的状态以及差异：

```
pct@ubuntu-x86:~/ubuntu-x86/IOTC$ 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)



    new file: Makefile



    new file: main.c



    new file: utils.h
```

### 3.2 增加到本地库：

```
pct@ubuntu-x86:~/ubuntu-x86/IOTC$ git add .
```

### 3.3 提交到本地：

```
pct@ubuntu-x86:~/ubuntu-x86/IOTC$ git commit -a



[master 36cad9b] Add Makefile & main.c



 3 files changed, 153 insertions(+)



 create mode 100755 Makefile



 create mode 100644 main.c



 create mode 100755 utils.h
```

这样提交会弹出一个vim的文本编辑界面，写入你的注释，第一行简略描述，空一行，然后详细描述。

### 3.4 提交到远程仓库，即网络上：

```
pct@ubuntu-x86:~/ubuntu-x86/IOTC$ git push -u origin master 



Counting objects: 6, done.



Delta compression using up to 2 threads.



Compressing objects: 100% (5/5), done.



Writing objects: 100% (5/5), 1.79 KiB | 0 bytes/s, done.



Total 5 (delta 0), reused 0 (delta 0)



To https://github.com/eager7/IOTC



   6c85c21..36cad9b master -> master



Branch master set up to track remote branch master from origin.
```

### 3.5 下载一个分支

```
git clone https://github.com/eager7/socket_comm -b epoll
```

### 3.6 建立一个分支

```
在本地新建一个分支： git branch Branch1



切换到你的新分支: git checkout Branch1



将新分支发布在github上： git push origin Branch1



在本地删除一个分支： git branch -d Branch1



在github远程端删除一个分支： git push origin :Branch1 (分支名前的冒号代表删除)



更新本地分支：git pull origin Branch1
```

### 3.7 create a new repository on the command line

```
echo "# my_bashrc" >> README.md



git init



git add README.md



git commit -m "first commit"



git remote add origin https://github.com/eager7/my_bashrc.git



git push -u origin master
```

## 4. 设置git配置

设置git全局设置：

```
git config --global user.name "your_name" 



git config --global user.email "your_email"
```

需要取消git的全局设置:

```
git config --global --unset user.name 



git config --global --unset user.email
```

针对每个项目，单独设置用户名和邮箱，设置方法如下：

```
git config user.name "your_name" 



git config user.email "your_email"
```


---

# Agent Instructions: Querying This Documentation

If you need additional information that is not directly available in this page, you can query the documentation dynamically by asking a question.

Perform an HTTP GET request on the current page URL with the `ask` query parameter:

```
GET https://plainchant.gitbook.io/plainchant/linux-kai-fa/git-chang-yong-ming-ling.md?ask=<question>
```

The question should be specific, self-contained, and written in natural language.
The response will contain a direct answer to the question and relevant excerpts and sources from the documentation.

Use this mechanism when the answer is not explicitly present in the current page, you need clarification or additional context, or you want to retrieve related documentation sections.
