目录

一、Git工作流程

二、Git安装

三、Sourcetree工具安装

四、Sourcetree配置

五、Sourcetree配置SSH

六、GIT常用命令


一、Git工作流程

二、Git安装与配置

1、获取安装程序

a、官网地址:https://git-scm.com/downloads

b、网盘地址:百度网盘 请输入提取码    xc5d

2、双击按照默认配置安装即可,安装目录:D:\software\Git、安装完成右键出现两个图标 【Git Bash、Git GUI】

3、首次安装设置,右键打开:Git Base Here

git config --global user.name "zhanhj"  //设置用户名

git config --global user.email "zhanhj@xxxxx.com"  //设置邮箱Gitlab注册的邮箱

此时git已经安装成功,可以通过http的方式克隆提交代码。

4、设置git的SSH方式

  • 生成本地Git密匙

左面右键选择git bash,输入一下命令:

ssh-keygen -t rsa -C "zhanhj@xxxxx.com"              //生成Git本地密匙,

三下回车,在你的 C:\Users\用户名.ssh 的路径下生成一个公钥的私钥

  • 通过记事本打开公钥,复制里面的内容配置到github

登录GitHub: Where the world builds software · GitHub官网、右上角图标----setings--SSH and GPG keys--new   SSH keys  配置公钥

  • 通过命令  ssh -T git@github.com  测试

三、Sourcetree工具安装

由于sourceTree的安装过程中有内嵌git的安装,所以我们不需要单独到git的官方网站上去下载安装git,直接通过sourceTree的安装来安装git也可以,使用本地自己的git也可以。

1、获取安装程序

官网地址:Sourcetree | Free Git GUI for Mac and Windows

网盘地址:百度网盘 请输入提取码 ymur

2、注册的时候需要打开外国的网站. 因此要安装时需要绕过这一步才能使用。

2、免费注册安装

C:\Users\zhanhj\AppData\Local\Atlassian\SourceTree目录下添加accounts.json文件

accounts.json文件上面的百度网盘下载

3、双击安装文件,点击跳过即可

配置名字和邮箱地址

四、Sourcetree配置

1、配置插件Beyond Compare 4

2、配置用户名密码

如果是通过https去克隆Gitlab上的代码,每次拉取,提交等都要输入密码。如果通过https的路径克隆项目,SSH无需配置

(SSH配置:Gitlab的登录用户名和密码,用户名非邮箱,不需要每次输入密码)

五、Sourcetree配置SSH

【Gitlab和sourcetree安装配置使用指导 - 百度文库】

git config --list //查看设置的配置

git config --list --show-origin //查看配置文件地址

连续按三次回车,这里设置的密码就为空了(否则每次提交都要输入密码),并且创建了key。

最后C:\Users\zhanhj\.ssh目录下得到了两个文件:id_rsa、id_rsa.pub、known_hosts

2、Gitlab添加本地Git公匙【id_rsa.pub】

登录Gitlab--用户设置找到SSH keys--点击ADD SSH key--输入sourecetree生成的公私---Key-Add key即可。

至此,git及gitlab相关配置已经全部完成,接下来可以使用git从gitlab上克隆代码来测试相关安装和配置的正确性

git clone git地址

3、配置sourecetree私匙

sourecetree--工具--选项--一般 --ssh密匙--设置Git私匙文件--设置项目目录--点击确定生成即可

一定要选择OpenSSH,路径配置Git生成的私匙

六、GIT常用命令

1、git安装后-指定名称和邮箱

$ git config --global user.name "Your Name"    //设置用户
$ git config --global user.email "email@example.com"    //设置邮箱

2、创建版本库

$ git --version  //查看版本
$ mkdir learngit    //创建
$ cd learngit    //使用
$ pwd    //查看当前目录
$ git init    //初始化,生成.git文件(若该文件隐藏,则使用ls -ah)

3、把文件添加add和提交commit到版本库(重点)

$ git add test.txt    //添加
$ git commit -m "wrote a test file"    //提交
$ git commit -m "add 3 files."        //一次性提交多个文件

注意:必须在当前版本库和当前目录下
4、版本控制(重点)

$ git log    //查看提交历史记录,从最近到最远,可以看到3次
$ git log --pretty=oneline    //加参,简洁查看
$ git reflog    //查看每一次修改历史
$ cat test.txt    //查看文件内容
$ git status    //查看工作区中文件当前状态
$ git reset --hard HEAD^(HEAD~100)(commit id)    //回退版本
$ git checkout -- test.txt    //丢弃工作区的修改,即撤销修改
$ git reset HEAD test.txt    //丢弃暂存区的修改(若已提交,则回退)

5、删除文件

$ rm test.txt   //直接删除
$ git rm test.txt
$ git commit -m "remove test.txt"    //删错了,恢复
$ git checkout -- test.txt

6、远程仓库(重点)

$ ssh-keygen -t rsa -C "youremail@example.com"    //创建SSH Key
$ sh -T git@github.com   //ssh连接测试github命令,需要github配置公钥
$ git remote add origin git@github.com:Daisy/AKgit.git    //关联
$ git push -u origin master    //将本地内容推送到远程仓库(第一次)
$ git push origin master    //将本地内容推送到远程仓库(之后)
$ git remote -v        //查看远程仓库信息
$ git remote rm origin    //删除远程仓库(解绑)
$ git clone git@github.com: Daisy/AKgit.git    //克隆远程仓库//克隆之后使用和查看
$ cd gitskills
$ ls
$ git remote    //查看远程库的信息
$ git remote -v    //查看远程库的详细信息

7、多人协作

$ git checkout -b dev    //创建并切换到分支dev  //创建并切换到分支dev,同上
$ git branch dev    //创建
$ git checkout dev    //切换    //新版本
$ git switch -c dev    //创建并切换到分支dev
$ git switch master    //直接切换分支
$ git branch        //查看当前分支
$ git merge dev    (--no-ff)(-m)//合并,把dev分支的工作成果合并到master分支上
$ git branch -d dev    //删除dev分支
$ git stash    //将现场储藏起来
$ git stash list    //查看储存的工作现场    //恢复和删除
$ git stash apply
$ git stash drop    //恢复并删除
$ git stash pop
$ git cherry-pick 4c805e2    //复制修改
$ git push origin master(dev)    //推送分支
$ git checkout -b dev origin/dev    //创建远程origin的dev分支到本地
$ git pull    //抓取分支(解决冲突)
$ git branch --set-upstream-to=origin/dev dev//指定本地与远程dev的链接
$ git rebase    //把本地未push的分叉提交历史整理成直线

8、标签管理

$ git tag v1.0    //打标签
$ git tag -a v0.1 -m "version 0.1 released" 1094adb //指定标签名和说明文字
$ git tag    //查看所有标签    //若是忘记打,则查找历史提交commit id ,再打上
$ git log --pretty=oneline --abbrev-commit
$ git tag v0.9 f52c633
$ git show v0.9        //查看标签详细信息
$ git tag -d v0.1    //删除标签
$ git push origin v1.0    //推送标签到远程
$ git push origin –tags  //推送全部本地标签//删除标签(若已推送到远程,先本地删除,再远程删除)
$ git tag -d v0.9
$ git push origin :refs/tags/v0.9

9、自定义git

$ git config --global color.ui true    //让git显示颜色
$ git config --global alias.st status    //配置别名
$ git config --global alias.unstage 'reset HEAD'  //配置操作别名
$ git config --global alias.last 'log -1'    //显示最后一次提交信息
$ git last    //显示最近一次的提交
$git config --global alias.lg "log --color --graph --pretty=format:'%Cred%h%Creset -%C(yellow)%d%Creset %s %Cgreen(%cr) %C(bold blue)<%an>%Creset' --abbrev-commit"  //颜色
$ cat .git/config //查看每个仓库的git配置文件
$ cat .gitconfig  //查看当前用户的git配置文件

七、常用问题记录

GitLab中使用SSH的git clone总是提示输入密码且任何密码都不对。

使用 HTTP 协议进行 clone、push 却没有任何问题。试了各种方法才发现,这个密码其实是 GitLab 所在的 Linux 上的一个账户名为 git 的账户密码。这个账户是怎么来的呢?实际上,在第一次使用命令 gitlab-ctl reconfigure 初始化 GitLab 配置时,GitLab 会自动为 Linux 创建五个账户,分别是:

git、 gitlab-redis、gitlab-psql、gitlab-prometheus、gitlab-www

  因为这些账户在被创建时,GitLab 并没有提示我们输入密码,所以我们并不知道密码,或者它们本来就没有密码。不过,我们在知道账户名的时候就可以强制改密码了。可以使用如下命令来更改账户 git 的密码:passwd git

解决GitLab中使用SSH的git clone总是提示输入密码且任何密码都不对_暗诺星刻的博客-CSDN博客_git ssh密码错误

Git客户端Sourcetree工具安装使用详解命令相关推荐

  1. SyncToy同步工具安装使用详解

    转载自:http://blog.sina.com.cn/s/blog_137787ec00102wiki.html https://blog.csdn.net/baronlee/article/det ...

  2. pstack 安装linux_详解命令-pstack

    导读 pstack命令可显示每个进程的栈跟踪.pstack 命令必须由相应进程的属主或 root 运行.可以使用 pstack 来确定进程挂起的位置.此命令允许使用的唯一选项是要检查的进程的 PID. ...

  3. 【工具推荐】图形化Git客户端Sourcetree推荐

    CSDN话题挑战赛第1期 活动详情地址:https://marketing.csdn.net/p/bb5081d88a77db8d6ef45bb7b6ef3d7f 参赛话题:程序员常用小工具推荐 话题 ...

  4. 虚拟化工具Xen的安装配置详解

    上一篇介绍了虚拟化的基础知识:这里来介绍具体的虚拟化工具的配置使用: 一.Xen的安装配置详解: 1.配置yum源 http://mirrors.163.com/centos/6.5/xen4/x86 ...

  5. win7 64位操作系统中Oracle 11g + plsql安装教程详解(图解)

    这篇文章主要介绍了win7 64位操作系统中Oracle 11g + plsql安装教程详解(图解),详细的介绍了Oracle 11g 安装的步骤,有兴趣的可以了解一下. 先去网上把下面列表里的文件下 ...

  6. android-studio安装过程详解

    android-studio安装过程详解 转载 2018年01月18日 13:53:32 标签: android-studio / android-studio安装 / Gradle / androi ...

  7. 《MySQL安装流程详解》及《MySQL安装一直失败,重新安装显示已安装》

    <MySQL安装流程详解>及<MySQL安装一直失败,重新安装显示已安装> 本文由博主经过查阅网上资料整理总结后编写,如存在错误或不恰当之处请留言以便更正,内容仅供大家参考学习 ...

  8. elasticsearch性能测试工具rally深入详解

    Elasticsearch性能测试工具rally深入详解题记 elasticsearch性能测试研究了很久,自己想过通过批量导入数据,然后记录时间,统计CPU.内存等变化,计算得出某个性能指标.但显然 ...

  9. uml建模工具 支持php,【UML 建模】在线UML建模工具 ProcessOn 使用详解

    总结: -- 推荐理由 : 最近从 Windows 操作系统 转到 MAC 上, 正在看设计模式 和 重构, 找不到好用的 UML 工具, 因此在网上找了一款可以在线使用的 UML 工具, 用起来发现 ...

最新文章

  1. 【万字长文详解】Python库collections,让你击败99%的Pythoner
  2. 黑马程序员——Java集合基础知识之Map
  3. VC如何在单文档里显示对话框
  4. eager_EAGER的获取是代码的味道
  5. centeros7安装mysql5.6_CentOS7安装MySQL5.6
  6. C ++ 类 | 类的创建和使用_1
  7. vivo手机解锁工具_vivo正式官宣APEX 2020概念手机!或将实现全面屏指纹解锁
  8. 乘风破浪:LeetCode真题_008_String to Integer (atoi)
  9. 【渝粤教育】广东开放大学 中国文化文学通论 形成性考核 (25)
  10. iOS中实现plist中读取数据实现Cell的显示(字典转模型,实现按序分组)修改图片的尺寸...
  11. hex2bin和bin2hex互转的小程序源代码
  12. 数独问题流程图_数独-分析、设计、求解思路
  13. 认识网络、几种常用的网络拓扑图
  14. 光纤传输网的发展及其新的分层结构
  15. ffmpeg java 实时视频流转码
  16. Ubuntu18.04设置自动连接WIFI
  17. 友谊的小船,说翻就翻
  18. 数电基础 逻辑门电路 学习截图
  19. origin里绘制横纵坐标都不一致的两条曲线
  20. LabVIEW图形化TensoRT工具包的安装下载分享

热门文章

  1. python preference_Android首选项(二) 隐藏Preference
  2. 有哪些适合女生戴的蓝牙耳机?适合女生用的蓝牙耳机推荐
  3. 【开源学习】samr
  4. centos下重启apache和mysql的方法
  5. intent在android中的作用,Android开发理解Intent的用途
  6. [Android] Intent启动activity方式
  7. 市场经济还是市场政府?
  8. Ozone Security:基于证书的Block Access Token认证
  9. 飞溅加载器(splash loader)
  10. 解决Office软件冲突问题