目录
一、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文章来源:https://www.toymoban.com/news/detail-465130.html
解决GitLab中使用SSH的git clone总是提示输入密码且任何密码都不对_暗诺星刻的博客-CSDN博客_git ssh密码错误文章来源地址https://www.toymoban.com/news/detail-465130.html
到了这里,关于Git客户端Sourcetree工具安装使用详解&命令的文章就介绍完了。如果您还想了解更多内容,请在右上角搜索TOY模板网以前的文章或继续浏览下面的相关文章,希望大家以后多多支持TOY模板网!