Git简易使用


因为Git是分布式版本控制系统,所以,每个机器都必须自报家门:你的名字和Email地址。
$ git config --global user.name "Your Name"

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

创建SSH Key:
$ ssh-keygen -t rsa -C "email@example.com"

你需要把邮件地址换成你自己的邮件地址,然后一路回车,使用默认值即可,由于这个Key也不是用于军事目的,所以也无需设置密码。如果一切顺利的话,可以在用户主目录里找到.ssh目录,里面有id_rsaid_rsa.pub两个文件,这两个就是SSH Key的秘钥对,id_rsa是私钥,不能泄露出去,id_rsa.pub是公钥,可以放心地告诉任何人。
用记事本打开id_rsa.pub,复制内容到github帐号下Settings->SSH and GPG Keys,点击New SSH Key,粘贴内容到Key,Title自行设置。

克隆远程库
$ git clone git@github.com:galepai/C-11.git  或 $ git clone https://github.com/galepai/C-11.git

 与远程库连接,推送本地库至远程库
$ git remote add origin git@github.com:galepai/Cpp11.git
$ git push -u origin master

git 删除错误提交的commit
方法: 
    git reset --hard <commit_id>
    git push origin HEAD --force
其他:
    根据–soft –mixed –hard,会对working tree和index和HEAD进行重置:
    git reset –mixed:此为默认方式,不带任何参数的git reset,即时这种方式,它回退到某个版本,只保留源码,回退commit和index信息
    git reset –soft:回退到某个版本,只回退了commit的信息,不会恢复到index file一级。如果还要提交,直接commit即可
    git reset –hard:彻底回退到某个版本,本地的源码也会变为上一个版本的内容
    HEAD 最近一个提交
    HEAD^ 上一次
    <commit_id>  每次commit的SHA1值. 可以用git log 看到,也可以在页面上commit标签页里找到.

分支使用

查看分支:git branch


创建分支:git branch <name>


切换分支:git checkout <name>


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


合并某分支到当前分支:git merge <name>


删除分支:git branch -d <name>

 

查看远程库信息

 git remote -v

git remote show origin       该命令信息比较全面

重新更改最近的提交

 git commit --amend

vim: i 插入   :wq保存退出

 

高级用法

  

  git checkout C4;      HEAD指针指向C4的提交点
  git checkout master~;   HEAD指针指向master分支点的前1个提交点. ~后面可以带数字~1指向C4,~2指向C3.   

 

  

  git cherry-pick C4 C3

 

   

  git rebase master one

 

  

  git branch -f two C2;

  git branch -f two master~3;  强制设置分支对应的提交点

 

.gitignore规则不生效

.gitignore只能忽略那些原来没有被track的文件,如果某些文件已经被纳入了版本管理中,则修改.gitignore是无效的。

解决方法就是先把本地缓存删除(改变成未track状态),然后再提交:

git rm -r --cached .
git add .
git commit -m 'update .gitignore'

 

posted @ 2018-02-20 22:58  冂冋冏囧  阅读(231)  评论(0编辑  收藏  举报