设置你本人拥有Git账号的账号邮箱:
git config --global user.name "Your Name"
git config --global user.email "email@example.com
mkdir XXX 新建目录XXX
cd XXX 进入目录XXX
pwd 查看当前路径
git init (git初始化,即把当前目录变成Git可以管理的仓库)
git add XXX (把文件XXX添加到仓库,文件名要带有类型后缀)
git commmit -m "提交的日志内容" (把文件提交到仓库)
git status 查看仓库当前的状态
git diff XXX (查看修改但未提交的文件XXX和之前的区别)
git diff HEAD -- XXX 查看文件XXX工作区和版本库里面最新版本的区别
git log 查看日志,从最近到最远依次显示
git log --pretty=oneline 查看日志的简洁显示
git reset -- hard HEAD^ 回退到上个版本,^^则为上上个版本,100个简写为HEAD ~100
cat XXX 查看文件XXX的内容
git reglog 查看记录你的每一次命令
git reset --hard ID的前几位 根据ID,指定回到未来的某个版本
git checkout -- XXX 把文件XXX在工作区的修改全部撤销
git reset HEAD XXX 可以把暂存区的修改撤销掉(unstage),重新放回工作区
生成密钥:
$ ssh-keygen -t rsa -C “test@gmail.com”
关联远程仓库
git remote add origin git@github.com:github用户名/github仓库名.git
删除关联origin
git remote rm origin
将本地仓库所有内容推送到远程仓库
git push -u origin master (master指主分支,也可以改成其他分支名)
(加上了-u参数,Git不但会把本地的master分支内容推送的远程新的master分支,还会把本地的master分支和远程的master分支关联起来,在以后的推送或者拉取时就可以简化命令。)
往后的简化命令
git push origin master
将远程仓库克隆到本地
git clone git@github.com:github用户名/github仓库名.git
使用分支:
查看分支:git branch
创建分支:git branch <name>
切换分支:git checkout <name>
创建+切换分支:git checkout -b <name>
合并某分支到当前分支:git merge <name>
删除分支:git branch -d <name>
如果要丢弃一个没有被合并过的分支,可以通过git branch -D <name>强行删除。
git log --graph/git log --pretty=oneline --abbrev-commit 命令可以看到分支合并图。
通常,合并分支时,如果可能,Git会用Fast forward模式,但这种模式下,删除分支后,会丢掉分支信息
请注意--no-ff参数,表示禁用Fast forward:
git merge --no-ff -m "合并信息" dev(合并分支名)
git stash 储存工作现场
git stash list 查看工作现场储存到哪
用git stash apply(后加储存位置名,如 stash@{0})恢复,但是恢复后,stash内容并不删除,你需要用git stash drop来删除;
另一种方式是用git stash pop,恢复的同时把stash内容也删了
多人协作下,如果分支推送到远程时其他人已先更新,需将远程的更新pull下来修改再提交,
如果git pull提示“no tracking information”,则说明本地分支和远程分支的链接关系没有创建,用命令git branch --set-upstream branch-name origin/branch-name,然后再次pull后修改推送到远程
标签
命令git tag <name>用于新建一个标签,默认为HEAD,也可以指定一个commit id;
git tag -a <tagname> -m "blablabla..."可以指定标签信息;
git tag -s <tagname> -m "blablabla..."可以用PGP签名标签;
命令git tag可以查看所有标签。
命令git push origin <tagname>可以推送一个本地标签;
命令git push origin --tags可以推送全部未推送过的本地标签;
命令git tag -d <tagname>可以删除一个本地标签;
命令git push origin :refs/tags/<tagname>可以删除一个远程标签。
git config --global user.name "Your Name"
git config --global user.email "email@example.com
mkdir XXX 新建目录XXX
cd XXX 进入目录XXX
pwd 查看当前路径
git init (git初始化,即把当前目录变成Git可以管理的仓库)
git add XXX (把文件XXX添加到仓库,文件名要带有类型后缀)
git commmit -m "提交的日志内容" (把文件提交到仓库)
git status 查看仓库当前的状态
git diff XXX (查看修改但未提交的文件XXX和之前的区别)
git diff HEAD -- XXX 查看文件XXX工作区和版本库里面最新版本的区别
git log 查看日志,从最近到最远依次显示
git log --pretty=oneline 查看日志的简洁显示
git reset -- hard HEAD^ 回退到上个版本,^^则为上上个版本,100个简写为HEAD ~100
cat XXX 查看文件XXX的内容
git reglog 查看记录你的每一次命令
git reset --hard ID的前几位 根据ID,指定回到未来的某个版本
git checkout -- XXX 把文件XXX在工作区的修改全部撤销
git reset HEAD XXX 可以把暂存区的修改撤销掉(unstage),重新放回工作区
生成密钥:
$ ssh-keygen -t rsa -C “test@gmail.com”
关联远程仓库
git remote add origin git@github.com:github用户名/github仓库名.git
删除关联origin
git remote rm origin
将本地仓库所有内容推送到远程仓库
git push -u origin master (master指主分支,也可以改成其他分支名)
(加上了-u参数,Git不但会把本地的master分支内容推送的远程新的master分支,还会把本地的master分支和远程的master分支关联起来,在以后的推送或者拉取时就可以简化命令。)
往后的简化命令
git push origin master
将远程仓库克隆到本地
git clone git@github.com:github用户名/github仓库名.git
使用分支:
查看分支:git branch
创建分支:git branch <name>
切换分支:git checkout <name>
创建+切换分支:git checkout -b <name>
合并某分支到当前分支:git merge <name>
删除分支:git branch -d <name>
如果要丢弃一个没有被合并过的分支,可以通过git branch -D <name>强行删除。
git log --graph/git log --pretty=oneline --abbrev-commit 命令可以看到分支合并图。
通常,合并分支时,如果可能,Git会用Fast forward模式,但这种模式下,删除分支后,会丢掉分支信息
请注意--no-ff参数,表示禁用Fast forward:
git merge --no-ff -m "合并信息" dev(合并分支名)
git stash 储存工作现场
git stash list 查看工作现场储存到哪
用git stash apply(后加储存位置名,如 stash@{0})恢复,但是恢复后,stash内容并不删除,你需要用git stash drop来删除;
另一种方式是用git stash pop,恢复的同时把stash内容也删了
多人协作下,如果分支推送到远程时其他人已先更新,需将远程的更新pull下来修改再提交,
如果git pull提示“no tracking information”,则说明本地分支和远程分支的链接关系没有创建,用命令git branch --set-upstream branch-name origin/branch-name,然后再次pull后修改推送到远程
标签
命令git tag <name>用于新建一个标签,默认为HEAD,也可以指定一个commit id;
git tag -a <tagname> -m "blablabla..."可以指定标签信息;
git tag -s <tagname> -m "blablabla..."可以用PGP签名标签;
命令git tag可以查看所有标签。
命令git push origin <tagname>可以推送一个本地标签;
命令git push origin --tags可以推送全部未推送过的本地标签;
命令git tag -d <tagname>可以删除一个本地标签;
命令git push origin :refs/tags/<tagname>可以删除一个远程标签。