https://www.imooc.com/video/17967
1、创建仓库
通过 sourcetree 打开的 命令行工具,应该和直接打开是一样的
下面是常用 命令
2、Git工作流
要经常提交“commit”, commit 过的代码会进入到了 自己的仓库, commit 可以说是 “暂存”,最后 push 才会进入到 主仓库,也可以说是 主分支。
“丢弃” 命令可以 取消 本地仓库 最近的修改,
没有 commit 过的代码,是 push 不了的,也就是说 push 是 本地的仓库到 提交到远程仓库,和本地代码好似无关!
如果已经提交上去的代码,也就是 push 过的代码想要取消可以使用 “重置当前分支到此次提交”,好像和回滚一样,
但是本地的还存在,就好像之前的那一次 push 没有过一样。
“移除” 相当于删除文件 也是一种命令,也可以取消?
“删除”之后 也要提交,本地删除了但是远程还有,所有要提交上去,让远程的也删除掉。
以下是 命令行操作 GIt工作流
git add 后面可以跟指定文件名,也可以写一个 点,表示所有,
执行完 git add 之后 在 commit就先当于 将 本地代码提交到本地仓库,
git commit -m "bash first commit" 暂存本地仓库
git reset HEAD “file name or .“ 可以将之前 add 之后的文件 返回到上一次的状态,或者说 之前的状态,
改成原来的状态后,但是本地还是老样子,所以可以使用 git checkout -- “file name or .“ ,来消除掉,这个指令应该是让 本地仓库和本地代码同步一下,但是会以 本地仓库为准,单独使用 checkout 可以用来查看状态, 加上两个 -- 好似让本地代码和本地仓库同步的意思 。
如果 commit 之后想要取消,可以先 git log ,查看提交日志,然后复制想要回滚到的 时间段 名称,然后 git reset --hard ‘’时间段名称‘’ ,就可以返回了, 并且本地库 和 本地 代码都会回去。
git rm '文件名’ 可以删除本地代码的文件, 但是好像只能单个删除,但是这只是删除了本地代码的,本地仓库和远程仓库还没删除,所有要 commit。
3、SSH key
之前操作的都是本地仓库啊!不过以后自己一个人打代码的话,确实需要使用一下 git 了。
远程仓库有 gitHub 和 gitLab , 虽然中意前一个,但是我发现好多都是用的后一个。
本地的仓库和远程的仓库是通过 ssh 保密 传输的,
输入指令,获取 钥匙, 邮箱账号要写自己,
获取公钥 ,在github上 写上公钥,
写上之后,在输入 ssh -T git@github.com 进行测试一下是否连通
//查看用户名
git config user.name
//查看用户邮箱地址
git config user.email
修改用户地址和邮箱:
//修改用户名称
git config --global user.name "username"
//修改邮箱地址
git config --global user.email "email@xxx.com"
4、远程仓库
使用 sourcetree 添加远程仓库
推送相当于 push 指令,把本地仓库推送到 远程仓库
推送成功后,发现相当于把本地仓库 完全复制了一份到 远程仓库一样,因为提交的记录和其它的操作记录都是一模一样的。
删除了之前的用不到的仓库,原来 删除功能 在 setting 中。
git 不设置密码和账户也能提交到 远程仓库,只不过每次 push,都要输入 账号和密码验证一下身份。
5、克隆仓库
直接克隆下来的项目 提交的时候可以直接 git push,因为它已经自动绑定一些东西。
使用 sourcetree clone 项目
clone下来的 项目,自动会绑定 远程 origin
6、标签管理
打上标签,更具语义化,如果以后回滚可以根据标签很方便的找到目标。
查看 tag 标签
sourcetree 操作 tag 标签
指定要把 tag 标记到那个提交点上
7、分支管理
分支是团队协作必不可少的功能。
创建分支 和 查看分支
切换分支,带 星号 的是当前所处
想要合并,需要先切换到主分支,然后 merge 其它的分支
删除一个分支
使用 sourcetree 创建 分支
使用 sourcetree 和并分支
8、总结