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 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远程仓库与本地仓库关联需要一个二者之间通信的秘钥
ssh-keygen -t rsa -C "[email protected]"//xxx随便填 此操作会在用户目录下产生一个公钥与私钥id_rsa是私钥id_rsa.pub是公钥
此操作可以保证本地可以向所有远程仓库进行推送
首先需要在远程创建一个仓库,但不要初始化
git remote add origin [email protected]:github账户名/仓库名.git//origin是为远成仓库取的一个名字,这样以后操作的时候可以用origin来代表远程仓库
git push -u origin master:master//第一次推送
git push origin master[:master]//将本地master分支推送到远程master分支上
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
通常多人合作时,每个人在本地都有一个自己的分支,同时在远端也有一个与本地对应的远程分支。每次push之前都拉取master公共分支解决冲突。创建者不时的将远程各个成员的分支merge到远程master上。