1.通过复制建立
下载代码:git clone + address
2.创建新的仓库:
建立新的目录: mkdir + 目录名称
初始化:git init
添加新创建或修改的文件到本地的缓存区: git add *(全部文件)A.java b.cpp (untracked的文件)
看缓存区中哪些文件被修改了:git diff --cached 如果不加--cached 会显示当前你所有已做的但没有加入到索引里的修改。使用q退出 还可以比较分支 git diff +两个分支名称 加入--stat可以统计有哪些文件和行被改动
提交到本地代码库:git commit -m "push my code" 这里使用-m来添加本次修改的注释,完成为新的版本 使用-a可以将所有没有加到缓存区的修改一并提交,但不会添加新建的文件
本地仓库关联到远端服务器 : git remote add + origin 主机名 + 自己的远程仓库地址
将本地代码库同步到远端代码库:git push (-f ) origin master
3.分支和合并
新建一个分支:git branch +名字
查看当前分支列表以及目前开发环境在哪个分支中(*标识):git branch
切换到其他分支:git checkout +分支名字
删除分支:git branch -d +分支名称(必须是已合并的) 使用-D强制删除
先到要合并的分支再执行:git merge -m“注释的内容”+ 要合并的分支名称
回退,撤销一个合并:git reset --hard HEAD^(HEAD最后一个节点)
git reset --hard HEAD~num
4.
检查所在分支信息: git status
查看日志:git log 使用--stat查看详细的提交记录 --pretty=oneline或short等设置样式 还有日志排序等
git remote -v(版本)
5.分布式工作
如果我们想把修改合并到原来的仓库,拉取服务器上的更新到本地。
git pull origin master 相当于先从远程分支git fetch (抓取修改的内容)然后再git merge(合并进当前分支)。
先 commit 再 pull 再 push 的情况就是为了应对多人合并开发的情况。
6.
使用git tag 创建一个标签指定某个提交 git tag +commit名称的前8位即可
git tag中使用-a, -s 或是 -u三个参数中任意一个,都会创建一个标签对象。需要-m输入标签消息。
使用git tag 查看所有标签。
设置签名标签 git config (--global) user.signingkey <gpg-key-id>
在创建标签的时候使用-s 参数来创建“签名的标签”:git tag -s stable-1 1b2e1d63ff
如果没有在配置文件中配GPG key,你可以用-u参数直接指定。git tag -u <gpg-key-id> stable-1 1b2e1d63ff