下载安装客服端sourceTree来管理
下载安装git
生成秘钥
安装好git和sourceTree之后,打开sourceTree,点击顶部的“命令行模式”,弹出git的窗口操作界面 或者从git Bash进入
输入如下命令以生产gitlab服务端和本地git相互传输时所需要校验的私钥和公钥。双引号内输入的是你git注册用户名 邮箱。回车后还需要输入密码等信息,可以不输入直接回车3次
$ git config --global user.name "你的用户名"
$ git config --global user.email "你的邮箱"
$ ssh-keygen -t rsa -C "你的邮箱"
默认会在/c/Users/Administrator/.ssh目录中生成秘钥,如果提示已经存在 可重写,成功后如下显示:
Generating public/private rsa key pair.
Enter file in which to save the key (/c/Users/Administrator/.ssh/id_rsa):
Enter passphrase (empty for no passphrase):
Enter same passphrase again:
Your identification has been saved in /c/Users/Administrator/.ssh/id_rsa.
Your public key has been saved in /c/Users/Administrator/.ssh/id_rsa.pub.
The key fingerprint is:
SHA256:LpEhcgm0rrnzsEMjo/e1g8n5Xsdw/TXdvSRjihAfkGo 8888888@qq.com
The key's randomart image is:
+---[RSA 2048]----+
| .o .. |
| o . .. |
| o + o. . |
| . o E oo .. +|
| . . o.S.. .+ o=|
|o= o.+. o.+.o|
|B... +o o.o. .. |
|++. =..+ . |
|o=...o+. |
+----[SHA256]-----+
配置公钥
把在/c/Users/Administrator/.ssh目录中生成的公钥id_rsa.pub(第二个文件) 粘贴在gitHub 账户设置的SSH KEY中,title可以随便取
配置sourceTree
最后一步就是在sourceTree配置与gitlab公钥对应的私钥。点顶部的工具-->选项,配置SSH秘钥,有个小坑注意下:在SSH客户端选项中选择OpenSSH,中间如果没有配好的话,在clone工程的时候,会一直提示无效的路径或没权限之类的。
git 常用命令
查看所有分支git branch -r
查看当前分支:git branch
查看当前分支状态:git status
推送分支:git push origin 分支名
切换到主分支:git checkout master
推送分支到主分支:git merge 分支名
查看当前总分分支的状态:git status (可能有没提交的commit)
推送当前的主分支到远程:git push origin master origin maste可以省略
找回历史提交的版本:git reset --hard 提交哈希号
其他基本命令
- 查看当前配置
git config --list
- 设置默认提交后显示的用户名
git config --global user.name "tony"
git config --global user.email "tony@qq.com"
远程仓库操作
- 查看远程仓库
git remote -v
- 添加远程仓库
git remote add <depot-name> <remote-url>
- 删除远程仓库
git remote rm <depot-name>
- 修改远程仓库url
git remote set-url --push <depot-name> <new-url>
- 重命名远程仓库
git remote rename <old-depot-name> <new-depot-name>
- 冲远程仓库抓取数据
git fetch <depot-name>
分支操作
- 查看远程分支
git branch -r
- 查看本地分支
git branch
- 创建分支
git branch <branch-name>
- 修改分支名称
git branch -m <old-branch-name> <new-branch-name>
- 将分支推送到远程服务器
git push origin <branch-name>
- 切换分支
git checkout <branch-name>
- 删除本地分支
git branch --delete <branch-name>
- 删除远程分支
git push origin :<branch-name>
- 查看几次commit的区别
git diff
- 查看当前分支状态
git status
- 合并分支到master
git merge <branch-name>
如果有冲突,修改冲突的文件,然后git add ,再git commit
commit操作
- 修改上一次提交的comment
git commit --amend
- 撤销已git add的文件
git reset HEAD
- 撤销对文件的修改
git checkout -- <file>
- git撤销commit
git log查看日志,找到要回退的commit的hash值
git reset --hard <commit_hash_id>
- 回退上一个版本
git reset --hard HEAD^(上一次是HEAD^, 上上次是HEAD^^, 也可写成HEAD~2,以此类推)
注: --hard 表示放弃所有本地改动
- 清除所有未跟踪文件,包括纳入ignored的文件
git clean -dxf
- 删除文件,移动文件
git rm <filename>
git mv <old-filename> <new-filename>
出现 以下问题的解决办法:
- git commit时出现 fatal: cannot do a partial commit during a merge.错误.
git commit -i <file>
git 分支操作例子
演示创建分支test-branch,修改本地分支,提交分支远程,最后合并分支变更到指定的分支
- 创建分支 test-branch
git checkout -b test-branch
- 修改本地分支,创建一个新的文件 test.txt并提交修改
echo "test" > test.txt
git commit -a -m "add text.txt"
- 提交增加的分支到远程
git push origin test-branch
- 合并 test-branch 的内容到 master
git checkout master
git merge test-branch
git push
找回历史提交的版本:git reset --hard 提交哈希号