GIT常用命令

GIT常用命令_第1张图片

1.git init

创建仓库

2.配置名字和电子邮件

$ git config --global user.name 'oldboy'
$ git config --global user.email [email protected]

3.git clone

使用 git clone 拷贝一个 Git 仓库到本地,让自己能够查看该项目,或者进行修改。
比如克隆github上的项目:

$ git clone [email protected]:oldboy-pro/stm32-example.git

4. git add

git add 命令可将该文件添加到缓存

git add test.c README.md
git add .

5.git status

git status 以查看在你上次提交之后是否有修改或者是否有未提交的文件


GIT常用命令_第2张图片

6.git diff

  • git diff 查看当前代码与缓存里的修改
  • git diff --cached 查看缓存和仓库的修改
  • git diff HEAD 查看当前代码与仓库的修改
  • git diff --stat 只列出概述,不显示详细

7.git commit

$ git commit -m "First"

加-a 直接直接更新缓存和仓库,一步到位

$ git commit -a -m "test"
$ git commit -am 'test'

在最后一次提交的基础上继续commit

$ git commit --amend

自动生成Change-Id和提交者的名字邮件

$ git commit -s

8.git reset

撤销仓库和暂存区,保留工作区:

$ git reset HEAD^

用仓库中的内容替换暂存区中的内容,工作区不变:

$ git reset HEAD

不难理解,其实HEAD代表的是当前版本,HEAD^代表上一版本,git reset HEADgit reset HEAD^都是回退仓库和暂存区到某一版本,不过git reset HEAD本来就是当前仓库,所以仓库内容不变。

用仓库中的文件替换工作区和暂存区中所有修改内容:

$ git reset --hard HEAD

9.git rm

从当前目录和缓存中删除文件

$ git rm test.c 

如果文件修改了,没添加到缓存里,则需要加-f 强制删除

$ git rm -f test.c

如果只想删除缓存里的文件,保留工作目录里的这个文件,可以使用如下命令

$ git rm --cached test.c 

删除一个目录下的所有文件和子文件夹,可以用递归删除

$ git rm -r *

10.git mv

改名文件,并且将这个改名放入暂存区

$ git mv [file-original] [file-renamed]

11.ssh-keygen

生成ssh key

ssh-keygen -t rsa -C "[email protected]"

12.git push

git remote add origin [email protected]:oldboy-pro/test.git
git push -u origin master

如果github上有与本地仓库不一样的地方,可以先

$ git pull --rebase origin master

13.杂记

git checkout --file用暂存区种的文件替换工作区

git checkout HEAD --file 用仓库中的文件替换工作区和暂存区中指定的文件

git log查看历史提交记录

git log -p查看最后一次提交的修改内容

git log -p 查看指定文件的提交历史

git branch查看本地分支

git fetch origin branchName:branchName 拉取远程分支到本地并创建该本地分支

git checkout branchName 切换分支

git clean -n查看会删除哪些untracked files

git clean -f删除untracked files

git diff > test.patch根据当前工作区修改生成patch

git apply test.patch将patch导入工作区

checkout命令用于从历史提交(或者暂存区域)种拷贝文件到工作目录,也可用于切换分支

你可能感兴趣的:(GIT常用命令)