Git 版本控制 学习

、打开git bash,先设置用户名和用户邮箱。

 

$ git config --global user.name "Your Name"
$ git config --global user.email "email@example.com"

然后cd命令选择一个目录进去,选择一个文件夹或者mkdir新建一个文件夹。

 

$ git init

可以将一个文件夹设为git仓库。在里面随便建一个文件,比如readme.txt

 

$ git add readme.txt

将文件添加到仓库,也就是称为stage的暂存区。

 

git commit -m "wrote a readme file"

将文件提交到仓库,也就是版本库master。

$ git status

查看git工作区的内容

$ git diff

查看修改的内容

 

 

$ git log

查看git提交历史

$ git reset --hard commit_id

返回到commit_id所对应的版本

 

  • --soft 参数  将上一次的修改放入 staging area
  • --mixed 参数   将上一次的修改放入 working directory
  • --hard 参数  直接将上一次的修改抛弃

$ git reflog

查看git命令历史

 

 

 

$ git checkout -- file_name

没有执行add之前,撤销工作区中对file_name文件的修改。

$ git reset HEAD file_name

没有执行commit之前,撤销暂存区区中对file_name文件的add,返回到工作区。

 

 

$ git rm file_name

删除file_name文件。

如果确认删除则commit,如果误删,可以执行前面的 git checkout -- file_name命令撤销。

$ git reset HEAD^ file_name

如果确认删除之后了才觉得是误删,可以通过此命令返回到误删之前的工作区。

 

 

创建SSH Key。在用户主目录下,看看有没有.ssh目录,如果有,再看看这个目录下有没有id_rsa和id_rsa.pub这两个文件,如果已经有了,可直接跳到下一步。如果没有,打开Shell(Windows下打开Git Bash),创建SSH Key:

 

$ ssh-keygen -t rsa -C "youremail@example.com"

如果一切顺利的话,可以在用户主目录里找到.ssh目录,里面有id_rsa和id_rsa.pub两个文件,这两个就是SSH Key的秘钥对,id_rsa是私钥,不能泄露出去,id_rsa.pub是公钥,可以放心地告诉任何人。

 

 

$ git remote add origin git@github.com:wanderlustlee/learngit.git

关联GitHub用户名为wanderlustlee库名字为learngit的远程库。

$ git push -u origin master

将本地库的所有内容推送到远程库。

 

 

$ git clone git@github.com:wanderlustlee/gitskills.git

克隆GitHub用户名为wanderlustlee库名字为gitskills的远程库。

 

 

 

查看分支:

$ git branch

创建分支:

$ git branch <name>

 

切换分支:

$ git checkout <name>

创建+切换分支:

$ git checkout -b<name>

合并某分支到当前分支:

$ git merge <name>

$ git merge --no-ff -m "merge with no-ff" dev

不使用fast forward方式合并分支,此方式会创建一个新的名为“merge with no-ff”的commit

删除分支:

$ git branch -d <name>

 

 

 

保存工作现场:

$ git stash

查看所有工作现场:

$ git stash list

 

Git把stash内容存在某个地方了,需要恢复一下,有两个办法:

一是用$ git stash apply恢复,但是恢复后,stash内容并不删除,你需要用$ git stash drop来删除;

另一种方式是用$ git stash pop,恢复的同时把stash内容也删了:\

 

 

十一

查看远程库信息:

$ 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

 

 

 

 

 

十二

在最新的commit上面打上一个标签:

$ git tag <tag_name>

查看所有标签:

$ git tag

 

给commit号为3628164的commit上面打上一个标签有说明的标签:

$ git tag -a v0.1 -m "version 0.1 released" 3628164

查看有说明标签的内容:

$ git show <tag_name>

 

 

 

十三

向远程库推送一个标签:

$ git push origin <tag_name>

查看推送过的所有标签:

$ git push origin --tags

删除本地的标签:

$ git tag -d <tag_name>

删除远程库的标签:

$ git push origin :refs/tags/<tag_name>

 

 

十四

给status命令起一个别名:

$ git config --global alias.st status

 

  • 0
    点赞
  • 1
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值