1. Git 分布式管理系统,核心是跟踪文件的修改
一:git基本配置:
1. mac全局安装. sudo apt-get install git
2. 进行配置(相当于个人认证)
git config —global user.name “your name”
git config --global user.email "email@example.com"
3.创建版本库
mkdir <文件名> 创建新文件
cd 文件路径 打开要code 的文件
pwd 显示当前目录
4. 将此文件托管给git
git init 把这个目录变成git 可以管理的仓库
该命令初始化之后,会出现一个后缀名git的隐藏文件夹,对于mac系统如果需要让隐藏的文件夹可见,可以通过如下命令实现:
4.1 defaults write com.apple.finder AppleShowAllFiles TRUE
4.2 killall Finder(执行完上一条命令你可能还是没有看到隐藏的文件夹,别着急,再执行此命令就可以看到了)
5.远程仓库配置:
5.0 与远程建立连接之前,需要配置SSL公钥,通过 ssh-keygen -t rsa -C "xxx@xx.com" ,一路回车之后,生成一个.ssh.pub文件,将里面的公钥key复制就可以了
5.1. git remote add origin “你关联的http 地址:https://github.com/dashaosunxigui/gitpratice.git” 与远程建立连接
5.2 git push origin master 将关联的文件推送到远程
5.3 建立连接之后,会让你输入你的email和密码,就是你当初在GitHub注册的账号与密码
6. git config --global pull.rebase true
配置后的好处:
每个修改可以在本地先行提交,而不用担心没有及时pull,导致节点交叉
git常用命令
提交与修改
1.git status 查看当前状态(可能处于已修改但未提交或当前无需提交的修改状态或其他…)
2.git add —all 将修改的文件全部从工作区添加进暂存区,如果只是想提交某个被修改的文件,可以直接在add后面跟文件名
3.git commit -m“提交描述” 将暂存区的内容提交到版本库中(其实相当于提交code的版本号,以后还可以回退到某个版本)
git commit -m “提交描述” 只会提交添加到缓存区的文件(只提交添加的)
git commit -a -m “提交描述” 能提交修改过,但是没有添加到缓存区的文件(只要是修改过的就能提交,个人理解该命令将git add —all 与 git commit -m”” 相结合了)
4.git diff 查看code的difference
5. git log 命令显示从最近到最远的提交日志,每个提交的版本都有一个对应的哈希值(或者说这个版本的id,除了id内容还包括作者、时间、修改描述),可以通过id来回到某个版本中
git log --pretty=oneline 提交日志简化,仅显示版本id和修改描述
回退/回退撤销/ 撤销 /删除
1. git reset --hard HEAD^
回退到上一版本(HEAD为当前版本 HEAD^为上一版本 HEAD^^为上上版本 HEAD~100上100个版本)
2. git reset --hard HEAD@{5}
反悔回退操作 (此时使用 git log已经查询不到回退前的最新版本了 但是在git branch界面未关闭前提下 找到之前的版本号前几位即可)
3. git reflog
查看命令历史(若上一个反悔回退操作无法进行,则可以使用本操作查询版本号 再次进行反悔回退操作)
4. git checkout --first.txt
撤销(让文件回到最近一次git commit或git add时状态)(工作区的操作)
5. rm first.txt
删除工作区文件(工作区的操作)
6. git rm first.txt
删除操作放于暂存区(执行此操作后,git checkout操作无效)
分支管理
1. git checkout -b dev
创建并切换到dev分支
2. git branch dev
创建分支dev
3. git checkout dev
切换分支到dev
4. git branch
查看当前分支 (系统会列出所有分支 当前分支前会加*号)
5. git merge dev
合并指定分支到当前分支(切换到master分支 在执行此操作 既可以把dev合并到master)(合并方式 fast-forward 快进模式 此模式删除分之后会丢掉分支信息)
6. git branch -d dev
删除dev分支
7. git log --graph -abbrev-commit
查看分支 且带图
8 git log --pretty=oneline -abbrev-commit
查看分支历史简化
9. git log --graph --pretty=oneline -abbrev-commit
查看分支历史简化 且带图
bug分支
1. git stash
隐藏当前工作现场 (可以多次stash,即隐藏多个分支工作现场,将当前未提交的工作存入git工作栈中,时机成熟的时候再应用回来)
2. git stash apply
恢复 工作现场
3. git stash drop
删除stash内容
4. git stash pop
恢复同时删除
5. git stash list
查看stash 查看stash内容
6. git stash apply stash@{num}
num为恢复工作现场的编号
多人协作
1. git remote
查看远程库信息
2. git remote -v
查看远程库详细信息
3. git checkout -b dev origin/dev
创建本地dev分支
4. git branch --set-upstream branch-name origin/branch-name
创建本地与远程分支的链接
5. git pull
从远程库获取最新版本并合并(相当于更新本地库)
6. git fetch
从远程库获取最新版本