git 常用指令

发布时间 2023-10-29 12:06:59作者: 万舜

1. 初始化一个项目

git init   //在当前目录创建.git版本库
git init new_dir //在指定目录创建.git版本库

2. 添加改动到暂存库,可以添加所有改动或者添加指定文件

git add .
git add readme.md 

3. 把文件提交到分支上

git commit -m "提交说明信息"

4. 查看改动

git status //查看仓库的状态
git diff  //查看difference,作了什么修改
git diff HEAD -- readme.md //查看工作区和版本库里面最新版本的区别

5. 查看提交日志

git log   //显示从最近到最远的提交日志
git log --pretty=oneline  //简化日志信息,留下主要的

6. 当前版本回退到上一个版本可以使用git reset命令

 git reset --hard HEAD^ //重置成上个版本
 git reset --hard commit id  //重置成相应提交id的版本,版本号没必要写全,
				// 前几位就可以了,Git会自动去找。

7. 指令日志

git reflog //Git用来记录每一次命令

8. 撤销改动

git checkout -- file  //丢弃工作区的修改
git checkout -- readme.txt //readme.txt文件在工作区的修改全部撤销,两种情况:
// 一种是readme.txt自修改后还没有被放到暂存区,
// 现在撤销修改就回到和版本库一模一样的状态;

// 一种是readme.txt已经添加到暂存区后,又作了修改,
// 现在撤销修改就回到添加到暂存区后的状态。

9. 远程仓库

在GitHub上新建的仓库是空的,可以从这个仓库克隆出新的仓库,也可以把一个已有的本地仓库与之关联,然后,把本地仓库的内容推送到GitHub仓库。

//在本地的仓库下运行命令:
git remote add origin git@github.com:账户名/仓库名.git

10. 推送

把本地库的内容推送到远程,用git push命令,实际上是把当前分支main推送到远程

 git push -u origin main
 git push origin main

如果远程库是空的,我们第一次推送main分支时,加上-u参数,Git不但会把本地的main分支内容推送的远程新的main分支,还会把本地的main分支和远程的main分支关联起来,在以后的推送或者拉取时就可以简化命令。

11. 删除远程仓库

如果添加的时候地址写错了,或者就是想删除远程库,可以用git remote rm 命令。使用前,建议先用git remote -v查看远程库信息:

git remote -v
// 根据名字删除,比如删除origin
git remote rm origin

此处的“删除”其实是解除了本地和远程的绑定关系,并不是物理上删除了远程库。远程库本身并没有任何改动。要真正删除远程库,需要登录到GitHub,在后台页面找到删除按钮再删除。

12. 克隆

git clone http地址或者ssh地址

注意事项

  1. Git命令必须在Git仓库目录内执行(git init 除外)。
  2. 添加某个文件时,该文件必须在当前目录下存在。
  3. 在Git中,用HEAD表示当前版本,上一个版本就是HEAD,上上一个版本就是HEAD,往上100个版本写100个比较容易数不过来,所以写成HEAD~100。
  4. Git为我们自动创建的第一个分支main,以及指向main的一个指针叫HEAD。
  5. git checkout -- file命令中的--很重要,没有--,就变成了“切换到另一个分支”的命令。