ubuntu安装命令: sudo apt-get install git
新建一个目录(mkdir git_test),在git_test目录下创建一个版本库,命令: git init
克隆分支:git clone <ssh或http地址>
添加到暂存区:git add code.txt
把暂存区的所有内容提交: git commit –m '版本1'
推送远程分支:git push origin 分支名称
状态命令如下:git status
使用如下命令可以查看版本记录: git log
现在若想回到某一个版本,可以使用如下命令: git reset --hard HEAD^、git reset --hard 版本号
查看操作记录:git reflog
git checkout -- <文件> 来丢弃工作区的改动
暂存区的修改撤销掉,重新放回工作区:git reset HEAD file
查看当前分支:git branch
创建分支:git branch <name>
切换分支:git checkout <name>
创建+切换分支:git checkout -b <name>
合并某分支到当前分支:git merge <name>
删除分支:git branch -d <name>
用带参数的git log也可以看到分支的合并情况:git log --graph --pretty=oneline
本地仓库与远程仓库关联:git remote add origin <远程地址>
git config配置:
配置用户名:git config --global user.name username
配置邮箱:git config --global user.email user@email
配置密码:git config --global credential.helper store
该命令会记住密码,执行一次 git pull 或 git push 等需要输入密码的命令,输入一次密码。
查看配置:git config --list
使用如下命令生成ssh密钥:ssh-keygen -t rsa -C <邮箱>
进入主目录下的.ssh文件件,下面有两个文件。
公钥为id_rsa.pub私钥为id_rsa
将本地分支跟踪服务器分支
git branch --set-upstream-to=origin/远程分支名称 本地分支名称
例:git branch --set-upstream-to=origin/smart smart
从远程分支上拉取代码载并合并到本地所在分支。
git pull orgin 分支名称
例:git pull orgin smart
场景1:当你改乱了工作区某个文件的内容,想直接丢弃工作区的修改时,用命令git checkout -- file。
场景2:当你不但改乱了工作区某个文件的内容,还添加到了暂存区时,想丢弃修改,分两步,第一步用命令git reset HEAD file,就回到了场景1,第二步按场景1操作。
场景3:已经提交了不合适的修改到版本库时,想要撤销本次提交,参考版本回退一节。
令git rm删掉,并且git commit:
删错了,可以直接使用git checkout – code2.txt,这样文件code2.txt又回来了。
命令git rm用于删除一个文件。如果一个文件已经被提交到版本库,那么你永远不用担心误删,但是要小心,你只能恢复文件到最新版本,你会丢失最近一次提交后你修改的内容。
BUG分支:修复bug时,我们会通过创建新的bug分支进行修复,然后合并,最后删除;
当手头工作没有完成时,先把工作现场git stash一下,然后去修复bug,修复后,再git stash pop,恢复工作现场。
再打开当手头工作没有完成时,先把工作现场git stash一下,然后去修复bug,修复后,再git stash pop,恢复工作现场。
通常,合并分支时,如果可能,Git会用Fast forward模式,但这种模式下,删除分支后,会丢掉分支信息。
如果要强制禁用Fast forward模式,Git就会在merge时生成一个新的commit,这样,从分支历史上就可以看出分支信息。
实战--no-ff方式的git merge
创建文件:touch .gitconfig
6.6 从远程分支上拉取代码
git pull orgin 分支名称
例:
git pull orgin smart
使用上述命令会把远程分支smart上的代码下载并合并到本地所在分支。