GIT常用命令

简介: GIT常用命令

安装后测试

‘$’符号是在打开Git.bash后终端里有的,无需自己输入

Git.bash也是安装后就有的软件

本文是在Windows环境下的完成的,只是为了总结命令的使用 ps:教程来源

bash

复制代码

$ git config --global user.name "cfd"
$ git config --global user.email "2909047212@qq.com"
  • 注意git config命令的--global参数,用了这个参数,表示你这台机器上所有的Git仓库都会使用这个配置,当然也可以对某个仓库指定不同的用户名和Email地址。

创建repository仓库

$ git init

  • 创建了一个.git隐藏文件
  • 没有看到.git目录,那是因为这个目录默认是隐藏的,用ls -ah命令就可以看见。

$ git add

  • git add后不跟文件名,视为全部添加
  • 跟文件视为只添加这些文件

$ git commit

ruby

复制代码

$ git commit -m "wrote a readme file"
  • -m后面输入的是本次提交的说明,可以输入任意内容,当然最好是有意义的,这样你就能从历史记录里方便地找到改动记录
  • 如果没有-m后面的信息,自动进入一个弹窗要求输入解释信息,不输入自动取消提交

版本穿越

git log

  • 命令显示从最近到最远的提交日志

git reset

  • 上一个版本就是HEAD^,上上一个版本就是HEAD^^
  • 往上100个版本写100个^比较容易数不过来,所以写成HEAD~100
  • git reset --hard commit_idcommit_id可以输入之前存在过的版本信息

git reflog

  • 记录每一次命令的信息,包括commit_id,可以方便的版本穿梭

工作区和暂存区

  • 关系如图

git status

  • 查看状态

git checkout -- file

  • 可以丢弃工作区的修改
  1. readme.txt自修改后还没有被放到暂存区,现在,撤销修改就回到和版本库一模一样的状态;
  2. readme.txt已经添加到暂存区后,又作了修改,现在,撤销修改就回到添加到暂存区后的状态。

git reset HEAD <file>

  • 可以把暂存区的修改撤销掉(unstage),重新放回工作区

删除文件

git rm <filename>删掉,并且git commit

取消删除git checkout -- test.txt

  • 用版本库里的版本替换工作区的版本,无论工作区是修改还是删除,都可以“一键还原”

远程仓库(GitHub)

前期准备

第1步:创建SSH Key

在用户主目录C:/Users/..,看看有没有.ssh目录,如果有,再看看这个目录下有没有id_rsaid_rsa.pub这两个文件,如果已经有了,可直接跳到下一步。如果没有,打开Shell(Windows下打开Git Bash),创建SSH Key:

perl

复制代码

$ ssh-keygen -t rsa -C "youremail@example.com"

然后一路回车,使用默认值即可.

如果一切顺利的话,可以在用户主目录里找到.ssh目录,里面有id_rsaid_rsa.pub两个文件,这两个就是SSH Key的秘钥对,id_rsa是私钥,不能泄露出去,id_rsa.pub是公钥,可以放心地告诉任何人。

第二步:登陆GitHub,打开“Account settings”,“SSH Keys”页面:

为什么GitHub需要SSH Key呢?因为GitHub需要识别出你推送的提交确实是你推送的,而不是别人冒充的,而Git支持SSH协议,所以,GitHub只要知道了你的公钥,就可以确认只有你自己才能推送。

当然,GitHub允许你添加多个Key。假定你有若干电脑,你一会儿在公司提交,一会儿在家里提交,只要把每台电脑的Key都添加到GitHub,就可以在每台电脑上往GitHub推送了。

添加远程库

ruby

复制代码

$ git remote add origin git@github.com:<username>/<reponame>.git
  • 添加后,远程库的名字就是origin,这是Git默认的叫法,也可以改成别的,但是origin这个名字一看就知道是远程库。

perl

复制代码

$ git push -u origin master
  • 把本地库的内容推送到远程,用git push命令,实际上是把当前分支master推送到远程。
  • 由于远程库是空的,我们第一次推送master分支时,加上了-u参数,Git不但会把本地的master分支内容推送的远程新的master分支,还会把本地的master分支和远程的master分支关联起来,在以后的推送或者拉取时就可以简化命令。

perl

复制代码

$ git push origin master

只要本地作了提交,用上面命令把本地master分支的最新修改推送至GitHub

删除远程库

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

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

ruby

复制代码

$ git remote -v

然后,根据名字删除,比如删除origin

shell

复制代码

$ git remote rm origin

从远程库clone

$ git clone git@github.com:cfddd/test2.git

  • 当在一个空目录下clone一个项目后,这个项目必然和远程仓库已经链接好了,直接操作即可(前提是远程仓库有权限,这也是为什么不可以clone别人仓库的原因)


相关文章
|
25天前
|
开发工具 git
git 常用命令
这些只是 Git 命令的一部分,Git 还有许多其他命令和选项,可根据具体需求进行深入学习和使用。熟练掌握这些命令能够帮助你更高效地管理代码版本和协作开发。
|
4月前
|
存储 开发工具 git
|
18天前
|
机器学习/深度学习 Shell 网络安全
【Git】Git 命令参考手册
Git 命令参考手册的扩展部分,包含了从基础操作到高级功能的全面讲解。
25 3
|
4月前
|
开发工具 git
【GIT 第二篇章】GIT常用命令
Git常用命令涵盖初始化、状态管理、提交、分支处理、远程操作等关键流程。`git init`启动本地仓库,`git clone`下载远程仓库。通过`git status`和`git diff`检查工作状态与差异。利用`git add`暂存文件,`git commit`保存更改。借助`git branch`、`git checkout`、`git merge`和`git rebase`管理分支。使用`git fetch`、`git pull`和`git push`同步远程仓库。通过`git reset`、`git revert`和`git checkout`实现版本回退。
74 0
|
1月前
|
缓存 Java Shell
[Git]入门及其常用命令
本文介绍了 Git 的基本概念和常用命令,包括配置、分支管理、日志查看、版本回退等。特别讲解了如何部分拉取代码、暂存代码、删除日志等特殊需求的操作。通过实例和图解,帮助读者更好地理解和使用 Git。文章强调了 Git 的细节和注意事项,适合初学者和有一定基础的开发者参考。
50 1
[Git]入门及其常用命令
|
2月前
|
开发工具 git
git学习四:常用命令总结,包括创建基本命令,分支操作,合并命令,压缩命令,回溯历史命令,拉取命令
这篇文章是关于Git常用命令的总结,包括初始化配置、基本提交、分支操作、合并、压缩历史、推送和拉取远程仓库等操作的详细说明。
140 1
git学习四:常用命令总结,包括创建基本命令,分支操作,合并命令,压缩命令,回溯历史命令,拉取命令
|
1月前
|
开发工具 git 开发者
|
1月前
|
开发工具 git 开发者
提升Git效率:掌握这5个高级命令
【10月更文挑战第17天】
61 0
|
3月前
|
存储 Linux 开发工具
掌握 Git 命令:每个开发者的必备技能
无论团队项目还是个人开发,掌握 Git 命令都是必备技能。本文介绍 Git 的基本概念与命令,如初始化仓库 (`git init`)、添加文件 (`git add`)、提交更改 (`git commit`)、检出分支 (`git checkout`)、合并分支 (`git merge`) 等,还分享了高级技巧如查看差异 (`git diff`)、撤销提交 (`git revert`)、修复合并冲突 (`git mergetool`) 和使用别名简化命令 (`git config --global alias.ci commit`)。
|
3月前
|
机器学习/深度学习 Shell 开发工具
Python使用管道执行git命令报错|4-7
Python使用管道执行git命令报错|4-7