git入门札记

分布式版本控制(个人主机即版本库,有一台作为“中央服务器”来方便“交换”修改,管理修改 而非文件) vs.  SVN CVS
git 安装后设置:
git config - -global user.name “bingo"
git config - -global user.email “email@example.com"
创建版本库
mkdir workDir   //工作区  通过add  到版本库(的暂存区Stage), untracked: not add yet
cd worDir
git init (null version repository, got .git(may hides))  //并自动创建第一个分支master 以及一个指向它的指针 HEAD, master指向提交
git add README.txt   (Unix哲学:没有消息就是好消息)
git commit    //把暂存区的修改提交到分支
 
git diff README.txt 查看具体修改内容
git diff HEAD - - README.txt 查看共工作区和版本库里面最新版本的区别 
 
git log
git clone git@10.11.1.198:wanglei/pn.git
git status
git branch 
git checkout
./git/config
git push 
git pull = git fetch + git merge  从远程获取最新版本到本地 并merge到本地仓库
git checkout -b branchname = git branch branchname + git checkout branchname
 
git config --global core.excludesfile ~/.gitignore_global
 
git checkout -- .     . stages new and modified, without deleted, all  把所有文件在工作区的修改全部撤销,误删的文件也可恢复
git reset HEAD filename   把暂存区的修改撤销回工作区
 
git rm 从版本库中删除文件
 
git reset --hard HEAD^(/或commit id)
git push origin HEAD --force
 
git reflog 记录每一次命令, 可查看版本的commit id
 
git push origin test:master // 提交本体分支作为远程的master分支 左边为空时为删除右边的远程分支
 
.git/config   分支与远程的关系
 
git log -p -2 现实最近两次提交的改动(具体到行)
git log - -pretty=oneline
git log - -pretty=format:”%h - %an, %ar : %s” 提交对象的剪短哈希字符串-作者, 作者修订日期:提交说明
 
 
解决冲突:
git diff 查看
导出  git diff HEAD^  >>  ../diff.txt
解决后再 git commit all
 
git merge - -no-ff -m “merge with no-ff” dev
 
原文地址:https://www.cnblogs.com/bingoshaw/p/5644855.html