Git的使用流程及常用命令汇总

  Git是一个很好用的版本控制系统,本文对于常用的一些命令进行了汇总。

创建一个存储仓库(repository)

  https://github.com/右上角点击"+"号,New repository,创建一个仓库,之后输入仓库的名字,描述和选择pubic/private。

配置SSH Key

  为了能从远程仓库拉取文件到本地或将本地文件push到远程仓库,需要配置ssh key,否则会出现全选不允许的错误(permission denied)。点击右上角头像-->settings-->SSH and GPG keys,点击New SSH key。

  然后cd ~/.ssh,进入本机ssh目录,找到xxx.pub的文件,将文件内容复制到Key文本框中,点击Add SSH key。

拷贝远程仓库到本地(git clone)

  当仓库创建后,会创建一个默认的分支master,代码,文件保存在远程存储仓库中,如果我们要把远程代码拿到本地来。进入我们新创建的参考中,在右侧可以看到一个绿色的按钮“Clone or download”,点击之后可以看到一个git url,或者可以用ZIP的格式把文件下载下来,如果用git url的话需要用到命令:

git clone https://github.com/XXX/$repository_name.git

  这样在当前路径下就出现了$repository_name的文件夹,里面就是远程仓库中的文件。

创建分支(git checkout -b)

  从远程考本到本地后,我们是在master分支上,想要查看当前代码在哪个分支上可以使用命令,会列出本地的分支都有哪些,以及当前是在哪个分支上。

git branch

  要查看本地仓库的状态可以使用命令,可以看到哪些文件进行了修改等信息。

git status

  如果要再当前分支上再创建出一个新的分支,使用命令,这样就会创建出一个名字为branch_name的新分支,并且会自动换到这个分支上。

git branch branch_name         // 创建branch_name分支
git checkout -b branch_name    // 创建branch_name分支并从当前分支切换到新的分支

  如果已经创建了branch_name分支,那么我可以在master分支和新创建的分支上进行切换,使用命令,这样又回到了master分支上。

git checkout master

  但新创建出来的分支只是在本地仓库中,如果要同步到远程仓库中,需要使用命令,这样在远程仓库中就会增加一个名字为branch_name的分支。

git push origin branch_name 

提交修改(git commit)

  当对文件进行修改后,如果想查看具体某一个文件哪里进行了修改与之前有什么不同,可以使用命令。

git diff file_name

  需要提交这些修改时,首先要使用命令,将带提交的文件加入临界存储区。

git add file1 file2

  然后提交并加上提交说明,使用命令。

git commit -m "commit message"

  然后同步到远程分支上。

git push

查看提交历史(git log)

  在每次提交修改的时候都会带一些commit message,如果想看当前分支的提交历史,可以使用命令:

git log

  还可以看一下某个文件某行内容被谁修改过,可以使用命令:

git blame file_name

将多个commit合并为一个(git rebase)

  通过git log我们可以看到,每次提交都对应了一个编号(commit_id),如果我希望将多个commit合并为一个commit时,需要使用命令,但是这个合并是有限制的,必须是从最近的一次提交开始的连续几个提交。

git rebase -i commit_id

  之后会进入一个配置文件,里面列出了每次commit的id和list,前面还有一个字符,表示要进行rebase的动作,将最上面那条记录的首字符修改为“r”,剩下修改为“f”。f表示后面的这条commit合并前面的这条commit,r表示使用这个commit,并且可以重新编辑commit message。修改后继续,就可以从新编辑commit message。

  这时可以看到多条commit记录被合并到一条了,然后将新的修改push上去,需要使用命令,这里需要使用force-push才能将rebase后的修改推到远程仓库。

git push -f branch_name

与远程仓库同步(git fetch)

  当有多人同时对项目进行开发时,可能有其他人已经向branch提交了新的commit,这是我们本地的文件就不是最新的或者说与远程仓库不同步,如果想获取远程分支都有哪些修改,可以使用命令。

git fetch  // 只获取远程branch修改的信息,并不把本地分支与远程分支同步

  假设现在在master分支上,如果要把本地文件与远程文件同步,需要使用命令。

git fetch                       // 获取远程branch修改的信息
git reset --hard origin/master  // 将本地branch的指针指向远程master的位置

将当前修改暂时保存(git stash)

  在开发过程中可能会遇到这样的情况,在开发一个模块的过程中,来了一个更紧急的任务,而之前的开发过程进行了一半,我们需要保留劳动成果,等待一会继续开发,这时候就需要使用命令。

git stash       // 将没有提交的修改保存git stash list  // 查看stash中都有哪些记录

  从git stash list中我们可以看到,每一个stash中的存储都是有编号的,stash{0},stash{1}等。如果这时候紧急的任务已经完成了,我们需要继续之前的开发,可以使用命令,将之前存储在stash中的修改恢复回来。

git stash pop stash{0} // 将编号为{0}的这个修改恢复回来

  如果要清空stash,可以使用命令。

git stash drop

原文地址:https://www.cnblogs.com/Moon-Light-Dream/p/10293496.html

时间: 2024-11-06 03:43:15

Git的使用流程及常用命令汇总的相关文章

GIT 版本控制常用命令汇总

[转自]:http://www.cnblogs.com/sawyerzhu/p/3578268.html GIT 版本控制常用命令汇总 git version 查看当前git版本信息 git help 获取全部命令帮助信息 git help <command> 获取指定命令帮助信息 git config user.name "Your Name Comes Here" 设置当前项目git用户名 git config --global user.name "Your

Git学习总结(10)——git 常用命令汇总

1.git 基本概念: 工作区:改动(增删文件和内容) 暂存区:输入命令:git add 改动的文件名,此次改动就放到了'暂存区'(新增的文件) 本地仓库(简称:本地):输入命令:git commit 此次修改的描述,此次改动就放到了'本地仓库',每个commit,我叫它为一个'版本'. 远程仓库(简称:远程):输入命令:git push 推送到远程仓库,此次改动就放到了'远程仓库' git pull 拉去远程仓库 commit-id:输出命令:git log,最上面那行commit xxxxx

git 常用命令汇总

git 常用命令 1.git 基本概念: 工作区:改动(增删文件和内容) 暂存区:输入命令:git add 改动的文件名,此次改动就放到了‘暂存区’(新增的文件) 本地仓库(简称:本地):输入命令:git commit 此次修改的描述,此次改动就放到了’本地仓库’,每个commit,我叫它为一个‘版本’. 远程仓库(简称:远程):输入命令:git push 推送到远程仓库,此次改动就放到了‘远程仓库’   git pull 拉去远程仓库 commit-id:输出命令:git log,最上面那行c

Linux 常用命令汇总

Linux 常用命令汇总 1. 显示日期与时间:date 可修改显示日期格式,如:date +%Y/%m/%d %H:%M à2016/12/25 17:05(%Y:年:%m:月:%d:日:%H:24小时制:%M:分) date –d 参数后可加:today/yesterday/tomorrow 来显示今天.昨天.明天日期 2. 显示日历:cal(默认显示本月月历) cal 2001 可显示2001年整年日历:cal 10 2001 可具体显示某月月历 3.  计算器:bc 4. Tab键:用在

Postgres数据库常用命令汇总

1.导出查询语句的结果到文件(你必须通过psql登录后切换到数据库后执行该语句): \copy (select id,mk,bth from basic where state='0') to /tmp/test.csv  2.直接通过psql命令导出数据到文件(-f 后面跟存放sql语句的文件): psql -h 127.0.0.1 -Uusertest -d testdb -t -f tb2redis.sql >> format2redis.txt Postgres数据库常用命令汇总

【Linux】Linux 常用命令汇总

查看软件xxx安装内容:dpkg -L xxx 查找软件库中的软件:apt-cache search 正则表达式 查找软件库中的软件:aptitude search 软件包 查找文件属于哪个包:dpkg -S filename 查找文件属于哪个包:apt-file search filename 查询软件xxx依赖哪些包:apt-cache depends xxx 查询软件xxx被哪些包依赖:apt-cache rdepends xxx 增加一个光盘源:sudo apt-cdrom add 系统

linux vi(vim)常用命令汇总(转)

前言 首先解析一个vim vi是unix/linux下极为普遍的一种文本编辑器,大部分机器上都有vi的各种变种,在不同的机器上常用不同的变种软件,其中vim比较好用也用的比较广泛.vim是Vi Improved的缩写,表示更好的vi.本文就说些比较有用.比较常用的命令,若能熟练运用这些命令,那么会发现编辑文件很大帮助,尤其作为开发人员,能够快速的提高开发效率. 说明 以下的例子中 xxx表示在命令模式下输入xxx并回车 以下的例子中 :xxx表示在扩展模式下输入xxx并回车 小括号中的命令表示相

Cisco路由器配置的常用命令汇总

路由器是工作在OSI参考模型第三层--网络层的数据包转发设备.路由器通过转发数据包来实现网络互连.虽然路由器可以支持多种协议(如TCP/IP. IPX/SPX.AppleTalk等协议),但是在我国绝大多数路由器运行TCP/IP协议.路由器通常连接两个或多个由IP子网或点到点协议标识的逻辑端口,至少拥有1个物理端口.路由器根据收到数据包中的网络层地址以及路由器内部维护的路由表决定输出端口以及下一跳地址,并且重写链路层数据包头实现转发数据包.路由器通过动态维护路由表来反映当前的网络拓扑,并通过与网

Linux运维最常用命令汇总

Linux运维最常用命令汇总?线上查询及帮助命令? 命令 说明 man 查看命令帮助,命令的词典,更复杂的还有info,但不常用.(man手册) help 查看Linux内置命令的帮助,比如cd命令.查看命令帮助,命令的词典,更复杂的还有info,但不常用.(man手册)help 查看Linux内置命令的帮助,比如cd命令. ?文件和目录操作命令 命令 说明 ls 全拼list,功能是列出目录的内容及其内容属性信息. cd 全拼change directory,功能是从当前工作目录切换到指定的工