Git

// 克隆远程仓库到本地(先cd到指定文件夹下,再执行clone操作)
$ git clone https://github.com/tonyLZQ/TitleBarView.git
// 添加本地库
$ git add ProjectName         --------  "ProjectName"项目名称
// 添加提交日志
$ git commit -m ‘Journal’     
// 提交到远端
$ git push origin master      --------  "master"分支名
// 从远端拉取代码
$ git pull origin master

辅助命令

// 查看提交日志
$ git log -3  --------查看最近三次提交的记录
// 查看文件提交状态
$ git status


标签操作

// 打一个新标签
$ git tag v1.0.0
// 查看所有标签
$ git tag
// 根据commit id 打标签
$ git tag v1.0.1 2fbb88d5fad5a03e5b4ef2df316b4d32f5339ef5
// 删除标签
$ git tag -d v1.1.0
//给标签增加说明文档
$  git tag -a v0.1 -m 'version 0.1 released' ef337e1
//可以看到标签说明
$ git show v1.0


分支命令

master 作为主分支,另外再创建一个开发分支,平时我们写代码在开发分支中去做,等到测试完成没问题之后再合并到主分支上去,这种情况适用于:
● 已上线项目,开发新版本。
● 接手的项目并不是特别熟悉,需要去修改一个重要bug。
个人认为,如你的项目还没有上线,这个时候就没有必要去搞什么分支,这样就显的画蛇添足了。

//1、 查看分支
$ git branch (查看当前本地所有分支)
# * dev          ---- 当前分支
#   master       ---- 主分支
$ git branch -a 查看当前所有分支(包含远程分支)
#   develop_jyj
# * develop_jyj_crm
#   remotes/origin/HEAD -> origin/master
#   remotes/origin/develop_jyj
#   remotes/origin/develop_jyj_crm
#   remotes/origin/develop_zf
#   ...
//2、 创建分支
$ git branch dev
//3、 切换分支	--鼓励使用switch
$ git checkout dev
//4、 创建并切换分支(相当于前两步操作)
$ git checkout -b dev
//5.1、 合并分支
$ git merge dev                 ------ ⚠️ (此命令为:合并某分支到当前分支,例:将dev合并到master),则当前所处于master分支。
//5.2、 合并dev分支上的某条记录到master上
//(例如:在dev上有三次提交记录,但是只想把其中的第二次合并到master上去,采取这个命令)
git cherry-pick "ddec59e2..."   ------⚠️ 在master分支下输入命令,参数为 commit-id   退出cherry git cherry-pick abort
// 如果在合并中存在以下冲突,进入文件夹手动解决冲突再次提交
hint: after resolving the conflicts, mark the corrected paths
hint: with 'git add <paths>' or 'git rm <paths>'
//6、 删除指定分支
$ git branch -D dev              ------ ⚠️(保证当前分支为非删除分支)



关于Bug分支(源自:廖雪峰网站)
       当你接到一个修复一个代号101的bug的任务时,很自然地,你想创建一个分支issue-101来修复它,但是,等等,当前正在dev上进行的工作还没有提交:
       并不是你不想提交,而是工作只进行到一半,还没法提交,预计完成还需1天时间。但是,必须在两个小时内修复该bug,怎么办?
解决办法
Git还提供了一个stash功能,可以把当前工作现场“储藏”起来,等以后恢复现场后继续工作。
工作流程
$ git status  ----- 查看工作区
# On branch dev
# Changes to be committed:
#   (use "git reset HEAD <file>..." to unstage)
#
#       new file:   hello.py
......
$ git stash  ----- 把当前工作现场“储藏”起来,等以后恢复现场后继续工作:
# Saved working directory and index state WIP on master: c354341 修改冲突
// 此时工作区域干净了,可在master下创建分支去修复bug,修复成功后合并到master,删除bug分支。
$ git stash list  ----- 查看刚才的工作现场
# stash@{0}: WIP on master: c354341 修改冲突
// 工作现场还在,Git把stash内容存在某个地方了,但是需要恢复一下
$ git stash pop  -----恢复刚才的工作现场
# On branch dev
# Changes to be committed:
#   (use "git reset HEAD <file>..." to unstage)
上一篇:IntelliJ IDEA配合git进行代码操作


下一篇:python - Git的简单使用