文章目录
- 安装配置
- 配置账号密码
- 配置密匙
- 工作流程
- 基本概念
- 文件的四种状态
- 基本命令操作
- 与远程仓库建立连接上传代码
- 分支管理
- 分支上传
- 分支合并
- 查看与撤回
安装配置
安装就不多讲了,很简单而且网上有很多文章,而且直接去官网下载安装就好
总之输入git version 能出来版本就说明安装好了
配置账号密码
配置我在这简单记录一下命令, 比如配置你的name和email, 注意name和email是你自己的!
git config --global user.name "Listen-Y"
git config --global user.email "160405314@qq.com"
然后查看你的配置
git config --list
配置密匙
Git关联远端仓库时候需要提供公钥,本地保存私钥,每次与远端仓库交互时候,远端仓库会用公钥来验证交互者身份。使用以下指令生成密钥。邮箱是你自己的!
ssh-keygen -t rsa -C "160405314@qq.com"
生成密钥后,在本地的/Users/当前电脑用户/.ssh目录下会生成两个文件id_rsa、id_rsa.pub,id_rsa文件保存的是私钥,保存于本地,id_rsa.pub文件保存的是公钥,需要将里面内容上传到远端仓库。
获取公钥字符串具体操作如下图。
cat ~/.ssh/id_rsa.pub
一定要在你输入ssh命令的那个目录下进行
输入ls -a
指令,查看当前用户目录下所有文件,包括隐藏文件
输入cd .ssh
指令,进入.ssh目录
输入ls
指令,查看.ssh目录下的文件
输入cat id_rsa.pub
指令,查看id_rsa.pub文件中内容
然后在你的远程仓库, 无论是GitHub还是GitLab, 找到添加密匙的地方,比如我是GitLab
然后将刚刚cat出来的密匙添加网页中即可
最后,ssh -T git@github.com 测试一下通不通,通了显示如下
或者
添加密钥到 ssh-agent
- 在后台启动 ssh-agent
eval $(ssh-agent -s)
- 将 SSH 私钥添加到 ssh-agent,如果您创建了不同名称的密钥,或者您要添加不同名称的现有密钥,请将命令中的 id_rsa 替换为您的私钥文件的名称。
ssh-add ~/.ssh/id_rsa
工作流程
一般工作流程如下:
- 克隆 Git 资源作为工作目录。
- 在克隆的资源上添加或修改文件。
- 如果其他人修改了,你可以更新资源。
- 在提交前查看修改。
- 提交修改。
- 在修改完成后,如果发现错误,可以撤回提交并再次修改并提交。
基本概念
我们先来理解下 Git 工作区、暂存区、版本库和远程库概念:
- Workspace:工作区,就是你平时存放项目代码的地方
- Index / Stage:暂存区,用于临时存放你的改动,事实上它只是一个文件,保存即将提交到文件列表信息
- Repository:仓库区(或本地仓库),就是安全存放数据的位置,这里面有你提交到所有版本的数据。其中HEAD指向最新放入仓库的版本
- Remote:远程仓库,托管代码的服务器,可以简单的认为是你项目组中的一台电脑用于远程数据交换
文件的四种状态
版本控制就是对文件的版本控制,要对文件进行修改、提交等操作,首先要知道文件当前在什么状态,不然可能会提交了现在还不想提交的文件,或者要提交的文件没提交上。
- Modified: 文件已修改, 仅仅是修改, 并没有进行其他的操作. 这个文件也有两个去处, 通过git add可进入暂存staged状态, 使用git checkout 则丢弃修改过, 返回到unmodify状态, 这个git checkout即从库中取出文件, 覆盖当前修改 !
- Untracked: 未跟踪, 此文件在文件夹中, 但并没有加入到git库, 不参与版本控制. 通过git add 状态变为Staged.
- Staged: 暂存状态. 执行git commit则将修改同步到库中, 这时库中的文件和本地文件又变为一致。
- Unmodify: 文件已经入库, 未修改, 即版本库中的文件快照内容与文件夹中完全一致. 这种类型的文件有两种去处, 如果它被修改, 而变为Modified. 如果使用git rm移出版本库, 则成为Untracked文件
#查看指定文件状态
git status [filename]
#查看所有文件状态
git status
基本命令操作
Git 常用的是以下 6 个命令:git clone、git push、git add 、git commit、git checkout、git pull
与远程仓库建立连接上传代码
git clone https://gitlab.com/testgitlablisten/test.git
然后在你当前目录下就会下载好远程的项目
此时你cd
进去当前的项目
然后上传你的代码
git add README.md
git commit -m "add README"
git push -u origin master
如果是上传这个项目的其他代码,你直接cd到你所需要的目录,然后执行上述命令上传代码即可。
分支管理
创建分支命令:
git branch (branchname)
切换分支命令:
git checkout (branchname)
列出分支基本命令:
git branch
没有参数时,git branch 会列出你在本地的分支。
$ git branch
* master
删除分支:
$ git branch -d branch1
Deleted branch branch1 (was c1501a2).
分支上传
假设新分支名字为 branch1:
git checkout -b branch1
这部命令就先在本地定位到了branch1分支。
随后:
git add .
git commit -m “你想说的注释”
git push -u origin branch1
git add. 表示此目录下的所有都add
分支合并
回到主分支
git checkout master
合并
git merge branch1
然后回到master分支,进行
git push -u origin master
查看与撤回
查看历史提交记录。
git log
以便获取需要回退至的版本号:
比如需要回退至的版本号是:aa909cff2239536df14820fe086d96305b24e9f1。
通过:
git reset –soft <版本号>
重置至指定版本的提交,达到撤销提交的目的,比如:
git reset --soft aa909cff2239536df14820fe086d96305b24e9f1
然后,通过git log确认是否成功撤销:
git log