git客户端安装及基本操作 git高级操作 git配置ssh

2018-11-12 22:08:00
admin
原创 1436
摘要:git客户端安装及基本操作 git高级操作 git配置ssh

一、git客户端安装及配置

下载:https://gitforwindows.org/https://tortoisegit.org/download/

运行:目录右键点击Git Bash Here


配置用户:需要替换成你自己的git账户

git config --global user.name xiangfeineng
git config --global user.email xiangfeineng@163.com

git config --list


列出远程仓库:
git remote -v
origin git@git.wb.local:isd/rdst.git (fetch)
origin git@git.wb.local:isd/rdst.git (push)


克隆和提交项目:

git clone https://github.com/xiangfeineng/test.git
cd test
touch readme.txt
git add readme.txt
git commit -m "my commit",提交到本地

git commit --amend -m "my commit",修改上次提交
git push origin master,提交到远程


分支仅仅是一个指针,HEAD指向当前工作分支,commit对象包含提交快照:
git branch 显示本地分支
git branch -a 显示本地和远程分支
git branch name 创建分支
git branch -d name 删除分支
git checkout name 切换分支
git push origin name 提交分支


忽略规则:

1、#开头为注释;

2、*.c,忽略当前目录和子目录下所有以.c结尾的文件或者目录;

3、/do,只忽略此目录下的do文件或者目录;

4、do/,忽略do目录下的所有文件,如果do是文件则不忽略;

5、!allow.c,不忽略allow.c文件,一个文件跑忽略规则,最后一条规则是不忽略则该文件不忽略;

6、doc/*.txt,只忽略doc/do.txt,不忽略doc/do/do.txt;


git标签tag:创建代码标签,指向一个具体的提交

查看tag:git tag

查看tag详情:git show v1.0
新建tag:git tag v1.0,不带tag创建时间,不带tag注释,一般代表临时版本;

新建tag:git tag v1.0 -m "comment message",带tag创建时间,带tag注释,一般代表release版本;

历史版本tag:git tag v1.0  c98c5fb -m "comment message",c98c5fb可以替换成其它历史版本;

提交tag:git push origin v1.0

提交所有tag:git push origin --tags

删除本地tag:git tag -d v1.0
删除远程tag:git push origin --delete v1.0

同步远程删除的分支和tag:git fetch --prune --prune-tags,新建的分支不会被删除,新建的tag会被删除;

获取指定tag的代码:git fetch origin tag v1.0


二、git高级操作

1、工作区域分为:工作区、暂存区、本地仓库、远程仓库;

2、工作区是本地的文件,本地仓库是隐藏的.git目录,暂存区是记录当前分支所有文件hash值的文件;

3、HEAD指向本地仓库当前分支最新位置,detached HEAD指向一个提交,而不是指向一个分支;

4、FETCH_HEAD指向某个分支上次从远程仓库获取的最新位置,fetch命令更新此引用;

5、ORIG_HEAD指向上次危险操作之前的HEAD,用于异常操作恢复;

6、untrack操作用于取消跟踪已经上传到分支的文件,操作本质就是删除暂存区文件索引;

7、代码比对可以使用github网站的compare工具,比对的源版本需要比目标版本更新,版本可以使用hash值;

8、支持通过history查看单个文件的历史记录,支持通过blame查看单个文件的修改构成;


显示版本记录:

1、rev-list中文支持更好,必须指定版本信息;

2、log显示信息更多,可选指定版本信息;

3、版本区间:commit1..commit2=(commit1,commit2],commit=(,commit];

4、相对版本:commit~n,commit前面的倒数第n个版本;

git rev-list --oneline head~3..head
git rev-list --oneline 5aacb02..74c199c

git log --oneline -10


单个文件回滚

1、仅回滚工作区的修改:git checkout <file>...

2、仅回滚暂存区的修改:git reset <file>...


批量文件回滚

1、保证本地分支和远程分支一致;

2、reset回滚会删除提交记录,根据实际情况决定是否备份当前分支;

3、git reset --hard resetVersionHash
4、git push -f origin currentBranch


三、git配置ssh

1、ssh-keygen -t rsa,生成rsa公私钥;

2、PuTTYgen工具转换rsa公私钥到ppk格式,ppk全称putty private key,TortoiseGit只支持ppk格式私钥;

3、github配置公钥,Pageant配置私钥,Pageant需要设置成自动启动和自动加载私钥;

4、使用TortoiseGit克隆ssh协议的项目;

发表评论
评论通过审核之后才会显示。