git常用命令

一、基础概念

1. Git是一款免费、开源的分布式版本控制系统,用于敏捷高效地处理任何或小或大的项目
2. 在 https://git-for-windows.github.io 下载安装
3. git工作的一般流程
1)克隆Git资源作为工作目录

2)在克隆的资源上添加或修改文件

3)如果其他人修改了,你可以更新资源

4)在提交前查看修改

5)提交修改

6)在修改完成后,如果发现错误,可以撤回提交并在此修改并提交

二、关联github

1. 创建ssh key, 先下载git客户端,执行命令$ ssh-keygen -t rsa -C "415340216@qq.com",用户目录下会生成.ssh文件,里面有id_rsa是私钥,id_rsa.pub是公钥

2. 在github上打开settings,点ssh Keys,点击New SSH key, key值为id_rsa.pub(公钥)里面的内容

3. 测试ssh key是否成功,使用命令“ssh -T git@github.com”,如果出现You’ve successfully authenticated, but GitHub does not provide shell access 。这就表示已成功连上github

4. 从github上复制一个参考到本地,要先git init(先初始化,使该文件夹属于git管理), 然后命令:$ git clone git@github.com:Streamhu/gitLearn

5. 本地空仓库要git init初始化,这样才会有.git文件,才能做git的相关操作

6. 远程关联github仓库,命令:git remote add origin git@github.com:Streamhu/env-build

7. 查看关联的远程仓库,命令: git remote -v

8. 提交文件到github的步骤

    1) git add .                    (将改动添加到暂存区)
    2)  git commit -m "提交说明"
    3) git log                      (查看提交记录)
    4) git push origin master  (将本地更改推送到远程master分支)

    (遇到! [rejected]        master -> master (fetch first)error: failed to push some refs to 'git@github.com:Streamhu/env-build' 可能是有冲突,执行指令:git pull --rebase origin master,然后再 git push -u origin master)

9. 有关用户名和邮箱地址的指令:

    1) 查看用户名     git config user.name
    2)查看邮箱       git config user.email
    3) 修改用户名     git config --global user.name "username"  
    4) 修改邮箱       git config --global user.email "email"     

三、git常用命令

在这里插入图片描述

1. 新建代码库
1)git init                   		把这个目录变成Git可以管理的仓库,当前目录下多了一个.git的目录(.git就是用来版本控制的,即版本库)

2)git init [project-name]    		新建一个目录,将其初始化为Git代码库

3)git clone [url]            		从远程库克隆,下载一个项目和它的整个代码历史 
2. 配置(Git的设置文件为.gitconfig)
1)git config --list                					显示当前的Git配置

2)git config -e [--global]         					编辑Git配置文件

3)git config [--global] user.name "[name]"            	设置提交代码时的用户信息
   git config [--global] user.email "[email address]"
3. 增加/删除文件
1)git add [file1] [file2] ...        		添加指定文件到暂存区

2)git add [dir]                  			添加指定目录到暂存区,包括子目录

3)git add .                    			添加当前目录的所有文件到暂存区

4)git add -p                    			添加每个变化前,都会要求确认,对于同一个文件的多处变化,可以实现分次提交

5) git rm [file1] [file2]...            	删除工作区文件,并且将这次删除放入暂存区

6) git rm --cached [fiel]            		停止追踪指定文件,但该文件会保留在工作区

7) git mv [file-original] [file-renamed]    改名文件,并且将这个改名放入暂存区  
4. 代码提交
1)git commit -m [message]            			提交暂存区到仓库区

2) git commit [file1] [file2] ... -m [message]	提交暂存区的指定文件到仓库区

3) git commit -a                				提交工作区自上次commit之后的变化,直接到仓库区

4) git commit -v                				提交时显示所有diff信息   
5. 查看信息
1)git status                    				可以让我们时刻掌握仓库当前的状态
	(1)Changes not staged for commit          只在本地修改了,没有add的
	(2)Changes to be committed                add了,没有commit的

2)git log(--pretty=oneline)                  显示从最近到最远的提交日志,后面的参数限制log数目,(其他参数看参考网址)

3)git diff filename                            显示暂存区和工作区的差异,显示的格式正是Unix通用的diff格式

4) git show [commit]                            显示某次提交的元数据和内容变化

5) git reflog                                   显示当前分支的最近几次提交   
6. 远程同步
1) git remote add [shortname] [url]           	增加一个新的远程仓库,并命名

2) git remote -v                              	显示所有远程仓库

3) git remote show [remote]            			显示某个远程仓库的信息

4) git fetch [remote]                			下载远程仓库的所有变动(仅仅是下载,还要看下远程下载和本地的差别,git log -p master origin,然后把远程的合并过来 git merge origin, 它的这些操作才相当于下面的pull,所以一般用pull)

5) git pull [remote] [branch]            		取回远程仓库的变化,并与本地分支合并

6) git push [remote] [branch]                   上传本地指定分支到远程仓库

7) git push [remote] --force                    强行推送当前分支到远程仓库,即使有冲突

8) git push [remote] --all                      推送所有分支到远程仓库    
7. 撤销
1)git reset filename                           撤回文件工作区到暂存区的修改,即撤回add的操作

2)git reset --hard HEAD^                            撤回commit到上一次提交的时候(即回退到提交前,同时还要从暂存区回退到工作区,就是暂存区和工作区都要改变,慎重,代码可能全丢失了)

3)git reset --hard commitID                    置当前分支的HEAD为指定commit,同时重置暂存区和工作区,与指定commit一致

4) git checkout -- filename                     撤回某文件工作区的修改(意思就是本地修改的代码没了)

 5) git checkout .                               撤回工作区所有文件的修改
8. 分支
1)git branch                    				列出所有本地分支

2) git branch -r                				列出所有远程分支

3) git branch -a                				列出所有本地分支和远程分支

4) git branch [branch-name]            			新建一个分支,但依然停留在当前分支

5) git checkout -b [branch]            			新建一个分支,并切换到该分支

6) git checkout [branch-name]            		切换到指定分支,并更新工作区

7) git checkout -                				切换到上一个分支

8) git branch --track [branch] [remote-branch]  新建一个分支,与指定的远程分支建立追踪关系

9) git merge [branch]                 			合并指定分支到当前分支

10)git branch -d [branch]            			删除分支

11)git push origin --delete [branch-name]       删除远程分支
   git branch -dr [remote/branch] 	

12) git push origin branch_name                 本地新建git分支推送到远程  

13)git branch -vv                              查看本地分支关联的远程分支
9. 标签(标签也是版本库的一个快照,一般是给commit id打标签,版本)
1) git tag                    					列出所有tag

2) git tag [tag-name]                			新建一个tag在当前commit

3) git tag [tag-name] [commit id]               新建一个tag在指定commit id

4) git tag -d [tag-name]            			删除本地tag

5) git push origin --delete tag <tagname>       删除远程tag

6) git show [tag-name]            				查看tag信息

7) git push [remote] [tag-name]        			提交指定tag

8) git push [remote] --tags            			提交所有tag

9) git checkout -b [branch-name] [tag-name]     新建一个分支,指向某个tag
10. 其他
 1)git archive                					生成一个可供发布的压缩包

参考网址

Git教程

常用 Git 命令清单

GitHub入门:各种概念、图解页面信息(都是知识点啊小伙伴们)

注:文章是经过参考其他的文章然后自己整理出来的,有可能是小部分参考,也有可能是大部分参考,但绝对不是直接转载,觉得侵权了我会删,我只是把这个用于自己的笔记,顺便整理下知识的同时,能帮到一部分人。
ps : 有错误的还望各位大佬指正,小弟不胜感激

  • 0
    点赞
  • 2
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值