Git命令使用手册

2019-06-13  本文已影响0人  惟吾德馨_慧

一、安装工具(windows环境)

git工具
Git-2.22.0-64-bit.exe下载:https://git-scm.com/downloads
TortoiseGit-2.8.0.0-64bit.msi下载:https://tortoisegit.org/download/

安装TortoiseGit出现错误:2502/2503错误


2503

解决办法:


以管理员身份运行

以管理员身份运行打开命令提示符,输入msiexec /package “安装包路径”,回车,就直接进入安装页面,按步骤安装即可。比如:

msiexec /package “D:\download\TortoiseGit-2.8.0.0-64bit.msi”

配置git.exe,选择git.exe,check,安装完成。

Android studio配置git:
File->setting->Version Control->GitHub


设置GitHub账号

点击test验证连接是否成功。

二、设置git账号和相关属性
鼠标右键打开Git Base Here
git version 查看版本信息
git help 查看帮助

1.配置name 和 email
git config --global user.name "wuhuihui_home"


配置

2.创建一个目录: mkdir 目录名
跳转到当前目录:cd 目录名
显示当前目录: pwd

wuhuihui@PC-201812110149 MINGW64 /d/testgit
$ git init Initialized empty Git repository in d:/testgit/
//这样就在d:/testgit/目录下自动生成.git文件夹,再在该目录下新建readme.txt,并输入“测试”保存,开始添加和提交readme.txt文件
wuhuihui@PC-201812110149 MINGW64 /d/testgit
$ git add readme.txt

wuhuihui@PC-201812110149 MINGW64 /d/testgit (master)
$ git commit -m "readme.txt" //日志信息
[master (root-commit) 8265127] readme.txt
 1 file changed, 1 insertion(+)
 create mode 100644 readme.txt

wuhuihui@PC-201812110149 MINGW64 /d/testgit (master)

3.查看文件状态:git status
查看文件的不同:git diff


image.png

4.修改文件,在readme.txt文件中增加换行输入“1111”
提交修改后的文件需要先add,再commit
git add命令实际上就是把要提交的所有修改放到暂存区(Stage),而git commit 命令则是一次性把暂存区里面的东西一次性提交到分支(master),所以 git commit 只是负责把暂存区里面的东西提交。
git diff HEAD -- readme.txt命令可以查看工作区和版本库里面最新版本的区别

修改后提交

5.查看提交版本日志:git log


查看版本日志

6.版本回退:git reset

wuhuihui@PC-201812110149 MINGW64 /d/testgit (master)
$ git reset --hard HEAD^
HEAD is now at 8265127 readme.txt //回退完成,显示当前版本首id

^怎么输入:切换到英文输入法,shift+6
回退到上一个版本,回退上上一个版本^,以此类推,如果要回退到1000个版本之前用$ git reset --hard HEAD~1000
版本回退后,log日志仅保存到当前版本

那么此时readme.txt的内容成了“测试”

如果界面没有清空,可以通过git reflog命令查看之前每次提交的记录


查看每次提交的commitID

如果我们想要把刚回退的版本恢复到最后提交的版本,可以通过
命令: git reset --hard 版本号,回到指定版本号


恢复版本

那么此时readme.txt的内容成了“测试 111”


恢复版本

用命令git reset HEAD <file>可以把暂存区的修改撤销掉(unstage),重新放回工作区

版本log 发生变化


版本log

当文件已修改,但是文件没有add,想要回到修改前的内容,使用命令:git checkout -- readme.txt 让这个文件回到最近一次git commit或git add时的状态

7.删除文件rm file


删除文件

rm file只是把缓存区的文件删除,并没有完全删除,在没有commit前是可以通过git checkout命令恢复该文件。

git checkout -- test.txt

8.新建远程仓库
①创建SSH Key。在C:\Users\Administrator\下,看看有没有.ssh目录,如果有,再看看这个目录下有没有id_rsa和id_rsa.pub这两个文件,如果已经有了,可直接跳到下一步。如果没有,打开Git Bash,创建SSH Key:

ssh-keygen -t rsa -C "youremail@163.com"

连着几个回车


创建SSH Key SSH Key文件生成

id_rsa和id_rsa.pub两个文件是SSH Key的秘钥对,密钥对最直观的作用:让你方便的登录到 SSH 服务器,而无需输入密码。由于你无需发送你的密码到网络中,SSH 密钥对被认为是更加安全的方式。id_rsa是私钥,不能泄露出去,id_rsa.pub是公钥,可以放心地告诉任何人。

②登录GitHub:setting->


setting

SSH and GPG keys->new SSH Key->


new SSH Key
add new SSH keys->
title 随意命名,在Key文本框里粘贴id_rsa.pub文件的内容
key
添加成功

Secure Shell (SSH) 是一个允许两台电脑之间通过安全的连接进行数据交换的网络协议。通过加密保证了数据的保密性和完整性。SSH采用公钥加密技术来验证远程主机,以及(必要时)允许远程主机验证用户。

GitHub允许添加多个Key。如果需要在不同电脑提交,只要把每台电脑的Key都添加到GitHub,就可以在每台电脑上往GitHub推送了。

③在GitHub Create repository:testgit.git


Create repository

③添加远程库origin

 git remote add origin https://github.com/wuhuihui2016/testgit.git

把本地库的所有内容推送到远程库

git push -u origin master

由于远程库是空的,我们第一次推送master分支时,加上了-u参数,Git不但会把本地的master分支内容推送的远程新的master分支,还会把本地的master分支和远程的master分支关联起来,在以后的推送或者拉取时就可以简化命令。

命令行 将本地文件push成功

那么初始化完成,现在开始本地提交通过命令: git push origin master就可以完成

在本地修改test.txt内容,增加文字


修改内容

提交文件


提交文件并推送到GitHub
查看GitHub提交成功

④克隆项目到桌面:git clone https://github.com/wuhuihui2016/testgit.git

克隆

8.分支就像通道,通道多了,代码提交互不影响,工作效率会提高
查看分支:git branch
创建分支:git branch <name>
切换分支:git checkout <name>
创建+切换分支:git checkout -b <name>
合并某分支到当前分支:git merge <name>
删除分支:git branch -d <name>

①创建分支whh

git branch whh  //创建分支whh
git checkout -b whh  //创建分支whh并切换
切换分支

此时分支指向whh,新建文件testwhh.txt,输入任意内容,使用add commit提交到当前分支上


在分支上上传文件

这时你会发现,whh分支上包含有testwhh.txt三个文件,而master分支只有readme.txt test.txt两个文件,这时我们需要合并分支:git merge <name>
切换到master分支,合并whh分支


合并分支

查看分支合并情况:git log --graph --pretty=oneline --abbrev-commit


查看分支合并情况

合并失败出现问题时,需要解决冲突问题。
合并完成后就可删除whh了,其实就是删除一个指针,指针master 和 whh 指的是同一个地方,所以可以删除一个。
删除分支whh:$ git branch -d whh

git log --graph命令查看分支合并图

分支合并时通常会选择快进模式(Fast Forward),但是删除分支后会丢失分支信息,那么需要保持删除分支的信息,做一个新的提交(commit ),采用 --no -ff 的方式合并分支(git merge)

 git merge --no-ff -m "git merger with no-ff mode" whh

查看远程库的信息:git remote
推送主分支:git push origin master.
推送link分支:git push origin whh.

⑨标签:是版本库的一个快照


打标签

使用命令看历史记录:git log --pretty=oneline --abbrev-commit


查看历史纪录

如果标签忘记打了,怎么办?
只需要找到需要打标签的commit id ,id号为:68186aa


补打标签

git show <tagname> 查看标签详细信息

创建带说明的标签使用命令:git tag -a <name> -m <描述> <commit id>


创建带说明的标签

删除标签:git tag -d <tagname>


删除标签

推送标签到远程,使用命令:git push origin <tagname>


推送标签

推送所有未推送的标签:git push origin --tag

从远程删除标签:git push origin :refs/tags/<tagname>


远程删除标签

git的基本操作到这里就完成了。
参考文章:Git使用教程(Window)学习笔记 - 广源的博客 - CSDN博客
https://blog.csdn.net/qq_36243942/article/details/81169913

每天进步一点点(2019-06-13):
我的技术分享文集目录 https://www.jianshu.com/p/23485c157d76

上一篇下一篇

猜你喜欢

热点阅读