文章目录
引言
作为一个开发者,相信大家都能理解一个项目大多数都是由一个团队共同合作完成的,这个时候多人之间的代码同步问题就显得很重要,因此版本控制工具就应运而生了。Git是目前世界上最先进的分布式版本控制系统(没有之一),故此整理了一下Git 的常用命令操作。
1、配置用户名和邮箱地址
git config --global user.name "xxxx" # 用户名
git config --global user.email "xxxx@xxx.com" # 邮箱
2、创建仓库
在电脑合适的位置创建一个新文件夹,通过命令行进入当前文件夹的,然后通过git init
命令把这个目录编程Git 可以管理的仓库。
$ mkdir github # 可不用命令行创建文件夹,但要用命令行进入到创建的文件夹
$ cd githu
$ pwd
/Users/smile/github
$ git init # 初始化仓库
3、将工作区的修改提交到暂存区
git add <file> # 添加单个文件变化
git add . # 添加所有的文件变化
git rm <file> # 移除文件
4、将暂存区的内容提交到版本库
git commit -m <message> # 提交到版本库,message 是本次提交的说明
这里说下将代码为什么要分两步提交到版本库,这是因为有可能一次要git add很多文件到暂存区,而提交命令git commit则是一次性将add到暂存区的文件都放到分支中。
5、放弃工作区修改(用版本库里的版本替换工作区的版本)
git checkout -- <file> # 放弃单个文件的修改 (还没有提到暂存区)
git checkout . # 放弃所有文件的修改 (还没有提到暂存区)
git reset HEAD -- <file> # 把暂存区的修改撤销掉(unstage),重新放回工作区
git reset HEAD # 把暂存区的修改撤销掉(unstage),重新放回工作区,然后执行放弃工作区修改
6、查看在你上次提交之后是否有修改
git status
git status -s # 加 -s 获得简短的结果输出
7、版本回退
git log # 显示从最近到最远的提交日志
git reset --hard HEAD^ # 回退到上一个版本
git reset --hard HEAD^^ # 回退到上上一个版本
git reset --hard <commit id> # 回退到指定的版本 id可以只写前几位
git reflog # 查看HEAD改动记录.
8、查看、创建SSH Key
cd ~/.ssh
cat id_rsa.pub # 查看本机的ssh
ssh-keygen -t rsa -C "youremail@example.com" #创建SSH Key
登录远程项目托管平台的库账号,比如说github,添加SSH Key。
9、添加远程库
git remote add [name] [url] # 添加一个新的远程仓库,可以指定一个简单的名字 后面是远程仓库的地址
git remote rm [name] # 删除远程仓库
git clone [url] # 从远程仓库克隆到本地
git remote -v # 查看远程仓库
git push [alias] [branch] # 本地库的内容推送到远程 别名 + 分支
git pull [alias] [branch] # 拉取远程仓库
10、分支管理
git checkout -b [branchname] # git checkout命令加上-b参数表示创建并切换
git branch (branchname) # 创建分支命令
git checkout (branchname) # 切换分支命令
git branch # 列出分支
git merge (branchname) # 合并指定分支到当前分支
git branch -d (branchname) # 删除分支命令
git log --graph # 可以看到分支合并图产品
11、当前分支有修改,但是要切换到其他分支
git stash # 将当前分支修改的内容 stash(储存)起来
git stash list # 查看 stash 列表
git checkout (branchname) # 切换到其他分支
git stash apply (stashname) # 恢复 stash 的内容
git stash drop (stashname) # 删除 stash 列表中 stash 的记录
12、将当前提交保存成patch文件,提供给他人使用
git add . # 把代码添加到git管理仓库
git commit -m "message" # 提交修改
git format-patch HEAD^ # 最近的1次commit的patch
git format-patch HEAD^^^^ # 最近的4次commit的patch
git apply (patchname) # 应用 patch 的内容
以上就是git在日常使用中常用的基本命令。