git笔记

2018-08-17  本文已影响0人  hha123

ls -ah 查看隐藏的文件(linux系统下面)

git add 文件名  //提交到暂存

git commit -m 'xxxx'  //提交到本地默认master

git reset --hard head //回退到当前版本(没有意义)

git reset --hard head^ //回退到上一个版本

git reset --hard head '版本号(不用输入完整)'

git reset HEAD readme.txt  把暂存区的修改回退到工作区

git reset命令既可以回退版本,也可以把暂存区的修改回退到工作区

命令git checkout -- readme.txt意思就是,把readme.txt文件在工作区的修改全部撤销

git log 

git reflog //有时候回退版本,最新的版本丢失了,可以通过这个命令找回版本号

git remote add origin git@github.com:michaelliao/learngit.git //把本地仓库推送到远程(和远程仓库关联)

要关联一个远程库,使用命令git remote add origin git@server-name:path/repo-name.git;

关联后,使用命令git push -u origin master第一次推送master分支的所有内容;

此后,每次本地提交后,只要有必要,就可以使用命令git push origin master推送最新修改;

git checkout -b dev

git checkout命令加上-b参数表示创建并切换,相当于以下两条命令:

$ git branch dev$ git checkout dev

git merge命令用于合并指定分支到当前分支

Git鼓励大量使用分支:

查看分支:git branch

创建分支:git branch

切换分支:git checkout

创建+切换分支:git checkout -b

合并某分支到当前分支:git merge

删除分支:git branch -d

用git log --graph命令可以看到分支合并图。

合并分支时,加上--no-ff参数就可以用普通模式合并,合并后的历史有分支,能看出来曾经做过合并,而fast forward合并就看不出来曾经做过合并。

//本地新建的分支,在远程也创建对应分支,方法一

$ git push origin test:master         // 提交本地test分支作为远程的master分支

$ git push origin test:test              // 提交本地test分支作为远程的test分支

$ git push origin :test              // 刚提交到远程的test将被删除,但是本地还会保存的,不用担心

//本地新建的分支,在远程也创建对应分支,方法二

git checkout develop //进入develop分支

git checkout -b fromdevelop //以develop为源创建本地分支fromdevelop

git push originfromdevelop //将本地fromdevelop分支作为远程fromdevelop分支

git push origin :fromdevelop   //删除远程fromdevelop分支

//end

当手头工作没有完成时,先把工作现场git stash一下,然后去修复bug,修复后,再git stash pop,回到工作现场。

如果要丢弃一个没有被合并过的分支,可以通过git branch -D 强行删除。

$ git branch--set-upstream-to=origin/dev dev //指定本地dev分支与远程origin/dev分支的链接

查看远程库信息,使用git remote -v;

本地新建的分支如果不推送到远程,对其他人就是不可见的;

从本地推送分支,使用git push origin branch-name,如果推送失败,先用git pull抓取远程的新提交;

在本地创建和远程分支对应的分支,使用git checkout -b branch-name origin/branch-name,本地和远程分支的名称最好一致;

建立本地分支和远程分支的关联,使用git branch --set-upstream branch-name origin/branch-name;

命令git tag 用于新建一个标签,默认为HEAD,也可以指定一个commit id;

命令git tag -a -m "blablabla..."可以指定标签信息;

命令git tag可以查看所有标签。

命令git push origin 可以推送一个本地标签;

命令git push origin --tags可以推送全部未推送过的本地标签;

命令git tag -d 可以删除一个本地标签;

命令git push origin :refs/tags/可以删除一个远程标签。

本地生成ssh密钥命令

ssh-keygen  -t rsa –C “youremail@example.com”

在用户主目录下,看看有没有.ssh目录,如果有,再看看这个目录下有没有id_rsa和id_rsa.pub这两个文件

id_rsa是私钥,不能泄露出去,id_rsa.pub是公钥,可以放心地告诉任何人。

mac如何获取本地电脑公钥?打开终端输入  $open~/.ssh

先 git clone 整个仓库,然后 git checkout tag_name 就可以取得 tag 对应的代码了。

但是这时候 git 可能会提示你当前处于一个“detached HEAD" 状态,因为 tag 相当于是一个快照,是不能更改它的代码的,如果要在 tag 代码的基础上做修改,你需要一个分支:

gitcheckout -b branch_name tag_name

这样会从 tag 创建一个分支,然后就和普通的 git 操作一样了。

//git 如何获取指定 tag 代码

http://yijiebuyi.com/blog/eacf4d053fad77affffae397d9af7172.html

https://blog.csdn.net/youzhouliu/article/details/78952453

上一篇下一篇

猜你喜欢

热点阅读