http://www.liaoxuefeng.com/wiki/0013739516305929606dd18361248578c67b8067c8c017b000
廖老师那里学的,以下是自己总结了以下。
git基本命令一、安装
1.sudo apt-get install git
2.git config –global user.name “xxx”
3.git config –global user.email “xxx@xxx.xxx”
二、创建仓库
1.mkdir xxx #新建一个文件夹
2.pwd #查看当前目录
3.git init #把当前目录变成git可以管理的仓库
4.rm -(r)f .git #取消git管理
4.ls -ah #可以查看被隐藏的文件
三、存档
1.git add xxx.xxx #把文件添加到仓库
2.git commit -m “xxx” #提交
e.g
git add a.txt
git add b.txt c.txt
git commit -m “add 3 txts”
四、查看
1.git status
2.git diff
五、读档
1.git log [–pretty=oneline]
2.git reset –hard HEAD^
#回到上一档案。HEAD表示当前版本,HEAD^表示上一版本,HEAD^^表示上上版本…HEAD~100表示上100个版本
3.git reflog
git reset –hard xxxxxxx
#从上面的列表里找到恢复前的特征码xxxx,能回到恢复前
4.cat xxx.xxx #查看当前xxx内容
六、撤销
1.git checkout – xxx.xxx
#未add,撤销前一次修改。改乱了工作区某个文件的内容,想直接丢弃工作区的修改
2.git reset HEAD xxx.xxx
#add了。改乱了工作区某个文件的内容,还添加到了暂存区时,想丢弃修改,分两步,第一步用命令git reset HEAD file,就回到了场景1,第二步按场景1操作
3.提交了不合适的修改到版本库时,想要撤销本次提交,参考版本回退一节,不过前提是没有推送到远程库。
七、删除文件
- git rm xx.xxx
github命令:
http://pan.baidu.com/s/1jGxjQL4#path=%252Fgit
github基本运用
github用法
一、git与github关联
1.创建SSH KEY
在用户主目录下,看看有没有.ssh目录,如果有,再看看这个目录下有没有id_rsa和id_rsa.pub这两个文件,如果已经有了,可直接跳到下一步。如果没有,打开Shell(Windows下打开Git Bash),创建SSH Key:
ssh-keygen -t rsa -C "youremail@example.com"
你需要把邮件地址换成你自己的邮件地址,然后一路回车,使用默认值即可,由于这个Key也不是用于军事目的,所以也无需设置密码。
如果一切顺利的话,可以在用户主目录里找到.ssh目录,里面有id_rsa和id_rsa.pub两个文件,这两个就是SSH Key的秘钥对,id_rsa是私钥,不能泄露出去,id_rsa.pub是公钥,可以放心地告诉任何人。
2.登陆GitHub,打开“Account settings”,“SSH Keys”页面:
然后,点“Add SSH Key”,填上任意Title,在Key文本框里粘贴id_rsa.pub文件的内容
二、添加
1.在github上 Create a new repository。
2.第一次添加按照网站上的方法来就行了
#这是通过http协议来传输
git remote add origin https://github.com/.....、
#这通过SSH
git remote add origin git@server-name:path/repo-name.git
git push -u origin master
3.更新
git push origin master #dev用来同步操作,master是前
4.克隆
git clone xxxxx #xxx从SSH复制
三、创建与合并分支
查看分支:git branch
创建分支:git branch <name>
切换分支:git checkout <name>
创建+切换分支:git checkout -b <name>
合并某分支到当前分支:git merge <name>
删除分支:git branch -d <name>
合并分支,并且禁用fast forward:git merge
当手头工作没有完成时,先把工作现场git stash一下,然后去修复bug,修复后,再git stash pop,回到工作现场。
如果要丢弃一个没有被合并过的分支,可以通过git branch -D <name>强行删除
git checkout -b dev origin/dev
因此,多人协作的工作模式通常是这样:
首先,可以试图用git push origin branch-name推送自己的修改;
如果推送失败,则因为远程分支比你的本地更新,需要先用git pull试图合并;
如果合并有冲突,则解决冲突,并在本地提交;
没有冲突或者解决掉冲突后,再用git push origin branch-name推送就能成功!
如果git pull提示“no tracking information”,则说明本地分支和远程分支的链接关系没有创建,用命令git branch –set-upstream branch-name origin/branch-name。
这就是多人协作的工作模式,一旦熟悉了,就非常简单。
查看远程库信息,使用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 pull,如果有冲突,要先处理冲突。
四、创建标签
先转到要加标签的分支上,然后:
git tag
命令git tag 用于新建一个标签,默认为HEAD,也可以指定一个commit id;
git tag -a -m "blablabla..."可以指定标签信息;
git tag -s -m "blablabla..."可以用PGP签名标签;
命令git tag可以查看所有标签。