标签:作品 logs lca keygen 链接 git pull 版本 查看文本 关闭窗口
ssh-keygen -t rsa -C "注册邮箱"
start ~/.ssh/id_rsa.pub
也可直直接在C/用户主目录/.ssh/中找到id_rsa.pub文件。登陆Git,打开"SSH Keys"页面,把上一步中文件夹中的所有内容复制,点击Add即可。 https://github.com/settings/keys
pwd
:查看所在地址,如果想在其他位置创建就像执行,例如:cd D:
就是在D盘。git init
命令把这个目录变成Git可以管理的仓库。.git
的目录,这个目录是Git来跟踪管理版本库的,没事千万不要手动修改这个目录里面的文件。git add xx.txt
命令 告诉Git,把文件添加到版本库git commit -m "添加了一个记事本文件"
其中git commit
命令是告诉Git,把文件提交到仓库,-m
后面输入的是本次提交的说明,可以输入任何内容
git commit命令执行成功后会告诉你,1个文件被改动(xx.txt文件),插入了两行内容(xx.txt有两行内容)。
git log
命令显示从最近到最远的提交日志,如果感觉显示的信息过多可以输入git log --pretty=oneline
这样只会显示版本号和提交说明。如图所示:git reset --hard HEAD^
HEAD
表示当前版本,也就是最新的提交3628164...882e1e0
(注意我的提交ID和你的肯定不一样),上一个版本就是HEAD^
,上上一个版本就是HEAD^^
,当然往上100个版本写100个^比较容易数不过来,所以写成HEAD~100
。commit id
也就是3628164...882e1e0
。我们要输入的命令如下:git reset --hard 3628164
。 版本号不需要写全前几位即可。cat xx.txt
查看文本内容。如果已经关闭窗口或者已经重启电脑,我们可以执行以下命令:
git reflog
查看历史命令如下所示:
我们就可已通过git reset --hard commit id
来找回想回到的版本
git status
命令。Untracked
还没被添加。git add
,git status
再次查看 ,文件夹名会变成绿色。git commit -m "更待xx文件夹,新添加xxx文件夹"
git status
会显示nothing。表示我们没有在对工作区做修改。如图所示:整体流程图:
git add
之后的才能经过git commit
提交到分支上。git add
一下在提交。git diff HAED -- xx.txt
命令:可以查看工作区和版本库里面的最新版本的区别。
共有三种情况:
1)修改了内容,但是没有添加到暂存区也就是没有执行git add
命令。
可以直接使用git checkout -- xx.txt
。文件就被还原到修改前的内容。
2)修改了内容并且执行了git add
但是没有提交,也就是没有执行git commit
命令。
可以使用git reset HEAD xx.txt
把文件从暂存区的修改退回到工作区,也就是执行git add
命令之前。
在使用git checkout -- xx.txt
。文件就被还原到修改前的内容。
3)修改了内容并且执行了git commit
命令也就是提交了。
我们可以使用回退版本库,git reflog
查看历史提交操作。找到之前的版本使用git reset --hard commitid
。就回到了上次提交的版本了。
(!!!!!这个操作的前提是还没有将本地的版本库提交到远程库上)
git rm xx.txt
删除文件git commit
提交到分支
Git init
git add 项目文件夹名
git commit -m ""
git remote add origin git@github.com:自己的账号名/文件名(步骤5中起的).git
git push -u origin master
git push -u origin master
第一次推送master
分支的所有内容;此后,每次本地提交后,只要有必要,就可以使用命令git push origin master
推送最新修改;
git clone 粘贴刚刚复制的内容也可以手写
。cd 项目名
ls
会显示其中所有的内容
git checkout -b fz
创建一个分支,然后切换到该分支。git checkout
命令加上-b
参数表示创建并切换,相当于以下两条命令:git branch fz
git checkout fz
git branch
命令查看当前分支。git branch
命令会列出所有分支,当前分支前面会标一个*
号。git add xx.txt
git commit -m "修改了xx.txt"
fz
分支的工作完成,我们切换回master
分支:git checkout master
master
分支之后,我们查看xx.txt文件,刚刚对文件进行的修改不见了。因此,我们要把分支的工作成果合并到master
分支上如下:git merge fz
git merge
命令用于合并指定分支到当前分支。合并后,再查看xx.txt的内容,就可以看到,和fz
分支的最新提交是完全一样的。
注意到上面的Fast-forward
信息,Git告诉我们,这次合并是“快进模式”,也就是直接把master
指向fz
的当前提交,所以合并速度非常快。
git branch -d dev
git branch
删除后再次查看branch
,就只剩下master
分支了整体操作如图:
git log --graph --pretty=oneline --abbrev-commit
整体操作图如下:
通常,合并分支时,如果可能,Git会用Fast forward模式,但这种模式下,删除分支后,会丢掉分支信息。
如果要强制禁用Fast forward模式,Git就会在merge时生成一个新的commit,这样,从分支历史上就可以看出分支信息。
--no-ff
方式的git merge
:
在实战开发时我们团队的分支就如图所示:
在Git中,由于分支是如此的强大,所以,每个bug都可以通过一个新的临时分支来修复,修复后,合并分支,然后将临时分支删除。
git stash
git stash
git stash list
查看我们之前的工作区存放的位置git stash apply
.但是恢复后,stash内容并不删除,你需要用git stash drop
来删除git stash pop
你可以多次stash,恢复的时候,先用git stash list查看,然后恢复指定的stash,用命令:
git stash apply stash@{0}
软件开发中,总有无穷无尽的新的功能要不断添加进来。
添加一个新功能时,你肯定不希望因为一些实验性质的代码,把主分支搞乱了,所以,每添加一个新功能,最好新建一个feature分支,在上面开发,完成后,合并,最后,删除该feature分支。
git branch -D feature-vulcan
git push origin master
git push origin dev
但是,并不是一定要把本地分支往远程推送
master
分支是主分支,因此要时刻与远程同步;
dev
分支是开发分支,团队所有成员都需要在上面工作,所以也需要与远程同步;
bug
分支只用于在本地修复bug,就没必要推到远程了,除非老板要看看你每周到底修复了几个bug;
feature
分支是否推到远程,取决于你是否和你的小伙伴合作在上面开发。
git fetch origin master
//从远程的origin仓库的master分支下载代码到本地的origin master$ git log -p master.. origin/master//
比较本地的仓库和远程参考的区别
$git merge origin/master
把远程下载下来的代码合并到本地仓库,远程的和本地的合并
git pull
命令文件名:例如xx.txt
git reset --hard HEAD^
git reset --hard HEAD~100
git reset --hard commit_ID
git log
git reflog
cat 文件名
git status
git commit -m "备注"
git add 文件名
git diff HEAD -- 文件名
git checkout -- 文件名
git reset HEAD 文件名
git rm 文件名
git checkout -- 文件名
git remote add origin git@server-name:path/repo-name.git
git push -u origin master
git push origin master
git branch
git branch <name>
git checkout <name>
git checkout -b <name>
git merge <name>
git branch -d <name>
git log --graph --pretty=oneline --abbrev-commit
Fast forward
:$ git merge --no-ff -m "备注" git stash list
a. git stash apply
但是恢复后,stash内容并不删除git stash drop
删除
b. git stash pop
恢复的同时把stash内容也删
git stash apply stash@{0}
强制删除:git branch -D <name>
廖雪峰:https://www.liaoxuefeng.com/wiki/0013739516305929606dd18361248578c67b8067c8c017b000
本作品由A_AiTing采用知识共享署名-非商业性使用 4.0 国际许可协议进行许可。
标签:作品 logs lca keygen 链接 git pull 版本 查看文本 关闭窗口
原文地址:http://www.cnblogs.com/A-aiting/p/7943965.html