[git] git 初级教程

git 本地仓库篇

创建本地仓库

git init//初始化仓库

查看仓库状态

查看当前分支仓库状态

git status
``
查看历史提交记录

git log –pretty=oneline

$ git log –pretty=onelineV
3628164fb26d48395383f8f31179f24e0882e1e0 append GPL
ea34578d5496d7dd233c827ed32a8cd576c5ee85 add distributed
cb926e7ea50ad11b8f9e909c05226233bf755030 wrote a readme file

查看工作区与版本库最新版本的区别

git diff HEAD –readme.txt

版本回退

首先需要清楚当前是哪个版本,在git中,用HEAD表示当前版本,上一个版本就是HEAD^,上上个就是HEAD^^.同时也可以用 HEAD~版本号 来表示

git reset --hard HEAD^
git reset --hard 3628164fb26d

查看git命令

$ git reflog
ea34578 HEAD@{0}: reset: moving to HEAD^
3628164 HEAD@{1}: commit: append GPL
ea34578 HEAD@{2}: commit: add distributed
cb926e7 HEAD@{3}: commit (initial): wrote a readme file

仓库内容提交及撤销

git add .
git commit -m "desc"
git checkout --readme.txt //把readme.txt在工作区的修改撤销,撤销到暂存区的状态

git 远程仓库篇

git远程仓库与本地仓库关联需要一个二者之间通信的秘钥

产生本地秘钥

ssh-keygen -t rsa -C "[email protected]"//xxx随便填 此操作会在用户目录下产生一个公钥与私钥id_rsa是私钥id_rsa.pub是公钥

将本地秘钥添加至远程版本控制账号

此操作可以保证本地可以向所有远程仓库进行推送

将本地某一个仓库与远程某一个仓库关联起来

首先需要在远程创建一个仓库,但不要初始化

git remote add origin git@github.com:github账户名/仓库名.git//origin是为远成仓库取的一个名字,这样以后操作的时候可以用origin来代表远程仓库

本地向远程推送

git push -u origin master:master//第一次推送
git push origin master[:master]//将本地master分支推送到远程master分支上

git 分支管理篇

创建、删除分支与切换分支

git checkout -b dev [master]//根据master创建新分支并切换
git branch dev [master]//根据master创建dev分支
git checkout dev //切换分支

git branch //查看当前分支

git branch -d feature1 //删除分支

合并分支

当两个分支没有冲突的时候才可以操作,否则需要先解决冲突

git merge dev:master//将dev合并到master上

分支抓取与合并

更新本地远程仓库引用

git fetch origin master //拉取远程master分支到本地(但并不会对本地任何分支产生影响)
git merge origin/master //将拉取到本地的远程分支origin/master merge到当前分支

git pull origin master //相当于上述两种操作

建立远程分支与本地分支连接

git branch --set-upstream dev origin/dev

github下多人协作的一般流程

通常多人合作时,每个人在本地都有一个自己的分支,同时在远端也有一个与本地对应的远程分支。每次push之前都拉取master公共分支解决冲突。创建者不时的将远程各个成员的分支merge到远程master上。

  • 发起人建立一个master分支。每个成员都clone到本地,并通过master建立自己的分支user1,user2……
  • 每个成员在本地修改完后git pull origin master(或者git fetch git merge)。将GitHub上的master分支fetch回来并合并到本地自己的分支user1,user2……
  • 每个成员在本地commit后,将自己的分支push到远端的user1,user2……
  • 创建者不时的在GitHub上将所有人的远端分支user1,user2……merge到远端的master分支上
  • 在发布时通过master创建v1.0 v2.0等分支。

猜你喜欢

转载自blog.csdn.net/eternally123/article/details/79599817
Git