Git常用命令总结
Git是一个开源的分布式版本控制系统,用于敏捷高效地处理任何或小或大的项目;Git 是 Linus Torvalds 为了帮助管理 Linux 内核开发而开发的一个开放源码的版本控制软件;Git与常用的版本控制工具 CVS, Subversion 等不同,它采用了分布式版本库的方式,不必服务器端软件支持。
命令总结
1 . ===== 初始化文件 =====
git init
2 . ===== 关联远程仓库 =====
git config --global user.name ""
git config --global user.email ""
3 . ===== 创建SSH key =====
ssh-keygen -t rsa -C 123456@qq.com
4 . ===== 查看仓库配置 =====
git config -list
5 . ===== 克隆远程仓库 =====
git clone https://github.com/xxxxx/xxx.git
6 . ===== 本地与Github关联 =====
git remote add origin https://github.com/xxxxx/xxx.git
7 . ===== 本地与Gitee关联 =====
git remote set-url --add origin https://gitee.com/xxxxx/xxx.git
8 . ===== 创建一个文件 =====
touch xxx.html,创建了一个xxx.html的文件
9 . ===== 查看改动状态 =====
git status -s
-s表示short,输出两列标记,第一列是对staging区域而言,第二列是对working目录而言
10 . ===== 创建本地分支 =====
git checkout -b dev ,创建一个dev的本地开发分支
11 . ===== 查看分支 =====
git branch -a 或者 git branch
12 . ===== 切换分支 =====
git checkout master ,切换到master分支
13 . ===== 合并分支 =====
git merge dev ,先切换到主分支master,然后合并开发分支dev;
如果报错提示:fatal: refusing to merge unrelated histories,则使用下面强制合并:
git pull origin xxx --allow-unrelated-histories
14 . ===== 拉取远程分支master / dev =====
git pull origin master / dev
15 . ===== 推送本地到远程master =====
git push origin master 或者 git push -u origin master
16 . ===== 查看推送状态 ======
git remote -v
17 . ===== 查看日志 ======
git log 或者 git relog 查看历史版本,方便回退
git log --oneline --number: 每条log只显示一行,显示number条
git log --oneline --graph: 可以图形化地表示出分支合并历史.
git log branchname 可以显示特定分支的log.
git log --oneline branch1 ^branch2,可以查看在分支1,却不在分支2中的提交.^表示排除这个
分支(Window下要给^branch2加上引号).
git log --author=[author name] 可以指定作者的提交历史.
git log --since --before --until --after 根据提交时间筛选log
git reflog 查看历史版本,方便查找回退的版本号
18 . ===== 回退版本 ======
git reset --hard ^ 或者 git reset --hard xxxxx版本号
19 . ===== 提交改动文件 ======
git add . 或者 git add xxx.html
20 . ===== 提交改动备注 ======
git commit -m "xxxx修改"
21 . ===== 启动本地服务 ======
cd /d/xxxxx/xxxxx/ 切换到目录
php artisan serve 启动服务
22 . ===== 上传文件到服务器 ======
scp index.zip root@17.52.255.3:/usr/share/nginx/html
基本使用
> 1: Github创建一个仓库(如果有请省略)
> 2: 复制仓库https链接 如https://github.com/Jensonhui/你的仓库名.git
> 3: 本地新建一个文件夹,右键鼠标选择[ git Bash Here ]
> 4: git clone 复制的仓库https链接
> 5: 本地会多出一个文件夹,与github仓库名称一致;接下来把你的项目文件粘贴到这个文件夹中
> 6: 然后到终端执行命令: cd 刚刚生成的文件夹(与github仓库同名)
> 7: git add . // 全部提交
> 8: git commit -m "first commit" // 提交备注
> 9: git push -u origin master // 提交项目到github仓库,这里可能需要输入账户、密码
此时,一个新的项目就提交到远程仓库了,接下来就是在本地创建一个分支,开始你的代码之旅~
分支管理
背景:项目由多人共同参与开发时
开发:克隆远程仓库到本地,新建本地开发分支,开发完成后合并到master,然后推送到远程
常用命令:
git clone https://github.com/xxxx/xxx.git 克隆远程仓库到本地
git checkout -b dev 新建本地开发分支
git status 查看改动文件
git add . 提交全部文件
git commit -m"" 添加改动标记
git branch 查看当前分支
git checkout master 切换到主分支master
git pull origin master 拉取远程主分支代码
git merge dev 合并本地开发分支到master
git push origin master 推送本地到远程master
git checkout dev 切换到本地开发分支
=========== 如果粗心忘记先拉去后合并,且还没有提交 ===========
第一种方式:查看提交记录,回退到之前版本:
git log ;
git reset --hard xxxxx
第二种方式:将远程拉取到本地,使用git stash pop
git stash 将本地代码stash到仓库
git pull 拉取远程代码
git stash pop 将仓库代码合并到本地最新代码
git add .
git commit -m""
git pull origin master
git push origin master
强制更新
放弃本地修改,强制更新远端代码
1 . 指令是下载远程仓库最新内容,不做合并
git fetch --all
2 . 指令把HEAD指向master最新版本
git reset --hard origin/master
3 . 重新拉取更新
git pull
本作品采用 知识共享署名-相同方式共享 4.0 国际许可协议 进行许可。