git快捷入门 常用命令

来源:互联网 发布:chrome js调用本地exe 编辑:程序博客网 时间:2024/05/16 15:08

         最近写代码使用了git,感觉写代码舒心了很多。特别是一个功能没有完成的时候,又想测试另外一个功能,这时候可以从从git里面提取以前能够运行的代码,建立分支写新功能,写完之后将两者合并,两个开发进度毫不影响,实在是太爽了。事实上,使用git就像使用一个简单可靠的魔法。

        只要你commit了,合理地建立分支了,就无需担心代码会丢失和混乱。

         

        有人建了一个网站来推广Git,致敬:Why Git is Better than X

          "我打印了《Pro Git》中文版,其中最触动我的是第三章开头的一句话:“Git鼓励在工作流程中频繁使用分支与合并,哪怕一天之内进行许多次都没有关系。理解分支的概念并熟练运用后,你才会意识到为什么Git是一个如此强大而独特的工具,并从此真正改变你的开发方式。


开始使用git


git中文乱码问题解决:http://blog.licess.org/msysgit-chinese/


经常使用的命令:

git init    (cd到你的工程目录里面,再使用这个命令(第一次使用就行了))

git add *.cpp *.h  (你修改了文件 或者第一次git init接着使用这个命令   使用IDE的最好也把一些配置文件加进去)

-------------如果你add了,但想取消怎办?千万不要使用git remove / git rm,它将会删除文件,请使用git reset 文件名,或者使用Git rm --cached file(这个好点,因为它只是把文件状态变成untracked,而没有修改文件)

git diff    (当你了修改文件并保存了,使用这个命令观察下)

git status   (自己使用观察下)

git commit -m "your message"

git log -p   (当你修改了文件,再使用git commit -m "XXX"时候,再用这个命令看看)

git log  (同上)


git branch test 7bdd67f9e423857a905216fa71229907c85c5efe  从7bdd67f9e423857a905216fa71229907c85c5efe中新建test分支(你的7bdd67f9e423857a905216fa71229907c85c5efe是完好的,可运行的,你想从这里开始写你的新功能,这个数字是怎样来的呢,你可以从git log中查到)


git commit --amend -m"your message"     (你保存得过于频繁,可将此次的commit和上一次commit合并)

git checkout test   切换到test分支

git branch  查看分支


git branch -D test 删除test分支

git merge test        把test分支合并到当前分支上       (合并之后  git会在发生冲突的文件上标出冲突   自己打开这些文件手工解决冲突  如果不解决不能commit)

git还有一些打补丁、删除commit、搜索功能


一些注意点


git checkout  master file_name  //放弃当前master分支对文件file_name的修改  即把没有commit的修改丢弃返回最近的一次commit 慎用 不可恢复(我觉得最好不用)


git checkout  commit_id file_name  //取文件file_name的 在commit_id是的版本。   commit_id为 git commit 时的sha值。


最好要经常commit才行!!!!不过commit的应该是一个完整的版本,否则会造成混乱也说不定!!!!


注意:文件修改之后commit之前应该add暂存修改  否则会无法commit


取得具体帮助  如:git commit -h   这个很重要


要想使用恢复功能  必须commit才行


新建立分支并用git checkout在不同分支切换的时候  修改和暂存在所有的分支都能看得到  但是在某个分支commit之后,这个修改就是这个分支的了  切换到其他分支时会丢失

尽量保持一个好的branch ,方便测试等


1. git fetch:相当于是从远程获取最新版本到本地,不会自动merge

2. git pull:相当于是从远程获取最新版本并merge到本地


当你在干同一个事情的时候,可以使用下边的命令合并最近的一次提交,这样就不会出现多个commit

git commit --amend


git commit --amend XXX 可以修改以前的commit message



原创粉丝点击
热门问题 老师的惩罚 人脸识别 我在镇武司摸鱼那些年 重生之率土为王 我在大康的咸鱼生活 盘龙之生命进化 天生仙种 凡人之先天五行 春回大明朝 姑娘不必设防,我是瞎子 宫颈环扎后宫缩怎么办 来例假刺激外阴高潮了怎么办 客人消费完说没钱怎么办? 孕13周血糖偏高怎么办 餐后血糖高14点怎么办 餐后血糖20多怎么办 空腹血糖6.6饭后9.2怎么办 键盘shift键失效了怎么办 灵异附身夫妻不合怎么办 鞋子买大了半码怎么办 鞋子买小了半码怎么办 黑布鞋鞋面白了怎么办 黑布鞋不黑了怎么办 黑布鞋退白了怎么办 老北京布鞋款式太少怎么办 老人输液抽搐后昏迷怎么办 头七家里有狗怎么办 股票退市股民的钱怎么办 美国股票退市股民怎么办 百度云字幕和视频不同步怎么办 百度云加载字幕有延迟怎么办 很难适应新环境怎么办 蜘蛛丝碰到嘴唇上起包有毒怎么办? 电瓶车在路上爆胎了怎么办 嘴被虫子咬肿了怎么办 高铁管家购票失败怎么办 高铁车厢空调冷怎么办 高铁票过了时间怎么办 网购火车票丢了怎么办 改签没有票了怎么办 火车票取了没赶上车怎么办 上车后车票丢了怎么办 晒了吗任务过期怎么办 坐火车买了站票怎么办 坐火车忘记带票怎么办 距离二本线差几分怎么办 行李包落火车候车厅怎么办 高铁票买错地点怎么办 高铁票买错日期怎么办 票买错时间了怎么办 上高铁了票丢了怎么办