git常用快捷指令
git代码仓库管理工具
1.初始化本地仓库
a) Git init <directory>
2.克隆一个远程仓库
a) Git clone 仓库名
eg:git clone git@github.asdf.com:edadd/FE-AApppon.git
3.添加文件到暂存区
a) Git add . (全部提交)
4.提交变更
a) Git commit -m ‘备注’
eg: git commit -m ‘U标准化-xxl’
5.拉取远程分支到本地
a) Git pull origin <branch>(不加分支则默认为拉取当前分支的远程仓库)
eg: git pull origin dev-ui(拉取远程的dev-ui分支合并到我的当前分支)
注:此操作建议多使用,为了让我们自己的分支和远程目标分支的一致,避免线上冲突, 污染远程分支,有冲突也可以本地处理
6.推送变更到远程仓库
a) Git push origin <branch>(不加分支则默认为推送到当前分支的远程仓库)
eg: git push origin dev-ui(推送当前分支的变更到远程仓库的dev-ui分支)
7.创建本地分支
a) Git branch <branch>
eg: git branch dev-ui-xxl(创建一个dev-ui-xxl的本地分支)
注:创建的本地分支的代码是以当前分支为模版创建的,建议创建本地分支时,可以将 代码分支切换到master,拉取最新代码后,在创建所需分支,这样保证代码是最 新的
8.切换本地分支
a) Git checkout <branch>
eg: git checkout dev-ui-xxl(切换到dev-ui-xxl的本地分支)
注:可以用git checkout -b dev-ui-xxl 直接创建并切换到新分支
9.删除本地分支
a) Git branch -d <branch>
eg: git branch -d dev-ui-xxl(删除本地的dev-ui-xxl分支,将d改成D就是强制删除)
eg: git branch -d -r origin/dev(删除本地远程dev分支,仅改变本地仓库,不影响远程仓库,使用git fetch又会还原)
10.删除远程分支(不建议新手使用)
a) Git push origin --delete <branch>
eg: git push origin --delete dev-ui-xxl(删除远程的dev-ui-xxl分支,本地的不影响)
eg: git push origin :dev(删除远程仓库dev分支,不影响本地,注意origin后的空格和冒号)
11.合并本地分支
a) Git merge <branch>
eg: git merge dev-ui-xxl(合并本地的dev-ui-xxl分支到当前分支)
12.暂存本地变更
a) Git stash
eg: git stash(将当前分支的变更存储到临时仓库)
注:配合git stash pop使用,比如我当前分支在调试,不想上到远程去。这个时候来 了一个临时变更,我需要切换到那个分支进行开发和提交,但是由于当前分支存在 未提交的代码,git checkout无法切换,这个时候就可以用git stash将当前分支 的变更存储到临时仓库,等那个分支开发完成,回到当前分支,并使用git stash pop 就可以找回当前分支临时存储的代码)
13.释放暂存本地变更
a) Git stash pop
eg: git stash pop(释放暂存的本地变更,搭配git stash使用)
14.拉取全部远程仓库变更
a) Git fetch
eg: git fetch(拉取远程仓库的全部变更)
15.查看存储库的状态
a) Git status
eg: git status(查看当前分支的存储状态)
16.查看分支列表
a) Git branch
eg: git branch(查看当前本地仓库的分支列表)
eg: git branch -r(查看当前远程仓库的分支列表)
eg: git branch -a(查看当前本地和远程仓库的分支列表)
17.查看提交历史日志
b) Git log
eg: git log(查看当前分支的历史提交记录)
18.回退到指定版本
a) Git reset --hard <commit id>
eg: git reset --hard 9e658693e47790a7577e43dce4ea0b30d87e4b5
注:commit id可以用git log去查找
19.变基
a) Git rebase <branch to rebase from>
eg: git rebase origin/master(依据master分支进行变基)
出处:https://www.cnblogs.com/loong1314/p/16971461.html
=======================================================================================
Git分布式版本控制器常用命令和使用
前言:
使用Git版本控制器差不多有一年多的时间了,在这一年多的时间里对这个传说的的分布式版本控制工具有了一定的了解。在实战项目开发中,对关于如何在通过Git提交项目,以及如何使用Git命令对提交的文件进行撤销,回退/还原,删除等相关操作有了一定的了解。以下主要是我在工作,学习中对自己使用Git的一些总结。
Git安装教程(Windows安装超详细教程):
参考博客地址(该篇博客解释的非常详情,大家可以对照着进行安装):
Git文件的四种状态:
未跟踪(untrack):未追踪,表示文件为新增加的
已修改(modified):表示修改了文件,但还没保存到git仓库中
已暂存(staged):表示修改的文件提交到了暂存区,但是还没有提交到本地Git版本库
已提交(committed):表示数据安全提交到了本地Git版本库
Git工作的四个区域:
Working Directory(工作目录):即正在编辑的文件状态。文件状态为未跟踪(untrack)和已修改(modified)在此区域内
Staging Area(暂存区):保存了下次将提交的文件列表信息。文件状态为已暂存(staged)在此区域内
Repository(本地仓库):提交到本地仓库的文件
Repository(远程仓库):已提交到远程计算机内的文件
提交流程为:工作区》暂存区》本地版本库》远程版本库
多个Git账号的登录与切换:
在Git Bash Here的控制台里输入:
1
2
3
4
5
6
|
git config --global user.name "你的名称" git config --global user.email "你的邮箱" 切换完成后,查看对应的账号: git config user.name 输出账号名称:YSGStudyHards |
详情参考博客:https://blog.csdn.net/qq_36602939/article/details/79794686
查看Git项目远程仓库地址:
1
|
git remote -v |
查看用户名和邮箱地址:
1
2
3
4
|
//查看用户名 git config user.name //查看邮箱地址 git config user.email |
拷贝一个Git仓库到本地:
1
|
git clone |
开发环境中Git完整提交步骤:
首拉取服务器代码:
注意:提交代码之前,需先从服务器上面拉取代码,以防覆盖别人代码!
1
|
git pull |
查看当前工作目录树的工作修改状态(这个命令在git中使用最频繁了,原因会告诉你下一步该做的事情):
1
|
git status |
将工作区修改添加的文件提交到暂存区:
1
2
3
4
5
|
git add + 文件 git add -u + 路径:将修改过的被跟踪代码提交缓存 git add -A + 路径: 将修改过的未被跟踪的代码提交至缓存 |
将暂存区代码提交到本地仓库中:
1
|
git commit -m “功能修改,这里是注释” |
将代码推送到服务器(主分支):
1
|
git push origin master |
Git提交过程遇到问题:
误将代码提交到暂存区中(git add):
解决办法:利用 git reset 命令将撤回缓存中的代码。
误将暂存区代码提交到本地仓库(git commit):
解决办法:
git reset —soft + 版本号
回退到某个版本,只回退了commit的信息,不会改变已经修改过的代码。
git reset —hard + 版本号
彻底回退到某个版本,本地的代码也会改变上一个版本内容
git pull和git fetch的用法及区别:
git pull (拉取):
是拉取远程分支更新到本地代码库的操作,比如远程仓库的学习资料有更新,需要把新的内容下载下来,可以使用git pull 是相当于从远程仓库获取最新版本,然后再与本地分支merge(合并)!
git fetch (提取):
理解 fetch 的关键, 是理解 FETCH_HEAD,FETCH_HEAD指的是: 某个branch在服务器上的最新状态’。这个列表保存在 .Git/FETCH_HEAD 文件中, 其中每一行对应于远程服务器的一个分支。
当前分支指向的FETCH_HEAD, 就是这个文件第一行对应的那个分支,使用git fetch获取远程仓库最新代码,但是不会自动合并(merge),git fetch更安全一些,因为在merge(合并)前,我们可以查看更新情况,然后再决定是否合并。
Git撤销,回退/还原,删除操作:
Git取消从工作区提交到暂存区的文件追踪:
1
2
3
4
5
6
7
8
9
|
在使用git的时候,有些文件是不需要上传的,所以就可以修改 例如: 如果是对所有文件都取消跟踪的话,就是 git rm -r --cached . //不删除本地文件 git rm -r --f . //删除本地文件【不推荐使用,因为会把本地的文件也给删除了】 对某个文件取消跟踪 git rm --cached readme1.txt //删除readme1.txt的跟踪,并保留在本地(推荐使用) git rm --f readme1.txt //删除readme1.txt的跟踪,并且删除本地文件。 |
工作区于暂存区之间的提交回退操作:
1
2
3
4
5
6
7
8
9
10
11
12
13
|
# 添加指定文件到暂存区 git add [file1] [file2] ... # 添加指定目录到暂存区,包括子目录 git add [dir] # 添加当前目录的所有文件到暂存区 git add . #当我们需要删除暂存区或分支上的文件, 同时工作区也不需要这个文件了, 可以使用 git rm file_path #当我们需要删除暂存区或分支上的文件, 但本地又需要使用, 这个时候直接push那边这个文件就没有,如果push之前重新add那么还是会有。 git rm --cached file_path(文件名称,ysg.txt) #直接加文件名 从暂存区将文件恢复到工作区,如果工作区已经有该文件,则会选择覆盖 #加了【分支名】 +文件名 则表示从分支名为所写的分支名中拉取文件 并覆盖工作区里的文件 git checkout |
版本库回退到工作区:
1
2
3
4
5
|
【这里操作是已经提交了在本地代码库的操作】 #去掉上一次的提交(会直接变成add之前状态,即取消追踪) git reset HEAD^ #去掉上一次的提交(变成add之后,commit之前状态) git reset --soft HEAD^ |
查看提交历史:
1
2
3
4
|
git log # 查看提交历史 git log -p <file> # 查看指定文件的提交历史 git blame <file> # 以列表方式查看指定文件的提交历史 git log --oneline # 查看提交日志,并且只显示第一行 |
合并与衍合:
1
2
3
4
|
git merge <branch> # 合并指定分支到当前分支 git merge --abort # 取消当前合并,重建合并前状态 git merge dev -Xtheirs # 以合并dev分支到当前分支,有冲突则以dev分支为准 git rebase <branch> # 衍合指定分支到当前分支 |
Git拉取时设置拉取深度:
1
|
git clone --depth=1 git@github.com:xxx.git |
Git查看分支查看:
1
2
3
4
|
git branch -vv 查看当前开发分支 git branch 查看本地所有分支 git branch -r 查看远程所有分支 git branch -a 查看本地和远程所有分支 |
出处:https://www.cnblogs.com/Can-daydayup/p/10134733.html
关注我】。(●'◡'●)
如果,您希望更容易地发现我的新博客,不妨点击一下绿色通道的【因为,我的写作热情也离不开您的肯定与支持,感谢您的阅读,我是【Jack_孟】!
本文来自博客园,作者:jack_Meng,转载请注明原文链接:https://www.cnblogs.com/mq0036/p/17337235.html
【免责声明】本文来自源于网络,如涉及版权或侵权问题,请及时联系我们,我们将第一时间删除或更改!