git常用命令及含义

来源:互联网 发布:usb3.0端口电压 编辑:程序博客网 时间:2024/05/22 13:32

git 常用命令及含义


由于知识有限难免存在疏漏或者错误,还请批评指正

git的理念就是 “没有消息就是最好的消息”

设置用户(分布式)

  • git config --global user.name "your name"
  • git config --globa user.email "your email.com"
    全局使用该用户名及用户邮箱

创建目录

  • mkdir new_folder_name
    创建一个用于跟踪的新文件夹或者使用系统自带的文件管理系统创建一个新的文件夹

管理

  • git init
    将当前的目录交给git管理,即使我们刚才创建的new_folder_name文件夹里的文件处于分布式版本控制系统git的监控之下

添加库

git只能够管理纯文本的文件,对于图片、视频等二进制形式存储的文件则无法跟踪(最好使用UTF8进行编码)

  • git add file_name.md 将file_name.md 文件添加到监管库
  • git commit -m "add a new file" 引号内为提交的说明
  • git commit -a把所有已经跟踪的文件暂存并提交,可以跳过git add的步骤
  • git add .将发生变化的所有文件添加到监管库中
  • git add *.md 将所有后缀为.md 文件添加到库
    commit 可以一次提交很多的文件,所以可能有很多的add ,但是只需要一个commit即可

时光穿梭机

  • git status 查看当前的状态
  • git diff 查看发生了哪些变化
  • git diff --cached查看已经暂存的文件与上次提交时的差异
  • git log 查看提交记录
  • git log --pretty=oneline 提交记录的简洁说明

版本回退

HEAD表示的是当前版本(其实是一个指针),HEAD^ 表示上一个版本,HEAD^^表示的是上上一个版本,依次类推,HEAD~100,会退到100个版本

  • git reset --hard HEAD^ 回退到上一个版本
  • git reset --hard 3628164 回退到3628164版本ID所对应的位置
  • git reflog 查找版本ID或者命令历史

工作区和暂存区

  • 工作区即为电脑的工作目录,暂存区存在于.git文件夹中,执行 git init 之后 工作目录中就会出现该文件夹,但是默认情况下,.git是隐藏的文件夹–主要存储head指针和提交记录,git commit执行后,就会存储在暂存区
    git管理的是修改而不是文件本身

撤销修改

  • git checkout --file_name.txt 丢弃工作区的修改
  • git reset HEAD file 撤销暂存区修改

删除文件

  • rm file 删除工作区文件

SSh连接的建立

  • ssh-keygn -t rsa -c "email"该命令执行后会有两个文件产生,id_rsa私钥,不可泄露id_rsa.pub公钥,确认身份,可以在多处添加,分别对应着多台电脑,我们可以将此公钥添加到github,如此以来,便可以实现ssh连接,安全又方便。

添加远程关联

  • 前提是已经在github上面有同名仓库
  • git remote add origin git@github.com:user/rename.git
  • git push -u origin master 把本地内容推送到远程 -u用于关联本地和远程的仓库(第一次使用,之后可以去掉-u)

克隆

git clone git@github.com:user/rename.git //使用ssh连接无需密码,速度较快,但是http连接每次都要输入密码和用户名,比较麻烦

  • git remote -v
  • git remote rm origin
  • git remote add origin git@github.com:user/rename.git
  • git push origin

分支建立与删除

  • git checkout -b dev 创建dev分支并切换到dev
  • git checkout dev 切换到dev分支
  • git branch 查看当前分支
  • git merge dev合并dev到当前分支,采用FF方式
  • git branch -d dev 删除dev分支
  • git merge --no-ff -m "merge no ff ways" dev不采用FF方式合并dev到当前的分支
  • git rebase master server在master分支上重演server(发布到远程后,不要进行此操作)

bug分支

  • git stash 隐藏当前的工作现场,适用于当前的工作还没有完成的情况
  • git stash list查看没有完成的工作现场
  • git stash apply恢复,不删除 stash的内容
  • git stash pop 恢复并且删除stash
  • git stash drop 删除stash

从远程抓取最新的代码

  • git pull
  • git branch -set-upstream branchname origin/branchname

创建标签

  • git tag v1.0 创建tag,在最新的commit上
  • git tag查看tag
  • git tag -a name -m "info"
1 0
原创粉丝点击