Py学习  »  Git

Git基本命令大全

程序员之家 • 4 年前 • 390 次点击  

注意!!!如果以下最基本的git命令都不懂,那么可以转行了。



1、git clone -b

克隆指定分支

如:

git clone -b bestore_master ssh://git@git-ssh.xxx.com/xxx.git


2、 git branch

查看当前分支


3、git branch -r

 或者git branch -a

查看所有分支


4、git checkout

切换分支

如:

git checkout bestore_sprint_1115


5、git pull

拉代码



6、git add -A

git add -A  提交所有变化

git add -u  提交被修改(modified)和被删除(deleted)文件,不包括新文件(new)

git add .  提交新文件(new)和被修改(modified)文件,不包括被删除(deleted)文件

add到缓存中


7、提交代码

git commit -m "注释"


8、推送代码

git push


9、git init

初始化:创建一个git仓库,创建之后就会在当前目录生成一个.git的文件


10、git add filename

添加文件:把文件添加到缓冲区


11、git rm filename

删除文件


12、git status

查看git库的状态,未提交的文件,分为两种,add过已经在缓冲区的,未add过的


13、git diff filename

比较:如果文件修改了,还没有提交,就可以比较文件修改前后的差异


14、git log

查看日志


15、git reset

版本回退:可以将当前仓库回退到历史的某个版本

git reset --hard HEAD^:

回退到上一个版本(HEAD代表当前版本,有一个^代表上一个版本,以此类推)

git reset --hard d7b5:

回退到指定版本(其中d7b5是想回退的指定版本号的前几位)


16、git reflog

查看命令历史:查看仓库的操作历史


17、git remote add origin git://127.0.0.1/abc.git

增加了远程仓库abc


18、git remote remove origin

移除远端仓库


19、git push -u origin master

将本地仓库内容推送到远端仓库(-u 表示第一次推送master分支的所有内容,后面再推送就不需要-u了),跟commit的区别在于一个是提交到本地仓库,一个是提交到远程仓库


20、git commit -m 'update .gitignore'

提交到git时,忽略部分IDE产生的文件

在根目录下创建.gitignore文件, 注意:新加.gitignore只能忽略那些原来没有被提交过的文件,如果某些文件已经被纳入了版本管理中,则修改.gitignore是无效的。


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


git rm -r --cached .

git add .

git commit -m 'update .gitignore'


gitignore文件内容,举例如下:


/**/target

/**/.project

/**/.classpath

/**/.settings


PS:在使用了git之后,会发现要比svn好用得很多,从以下几个方面做个简单的比较

1、 GIT为分布式方式,在传统的版本控制里,比如CVS或者SVN,这个是最核心的区别。


2、存储的方式不一样。

GIT存储的方式是按照元数据的方式进行存储,而传统的CVS和SVN则是以文件方式存储。


3、GIT特别的分支。

CVS和SVN的分支管理比较简单,只是在版本库中另一个目录而已,确认代码是否已合并也相对麻烦,在分支管理方面容易产生遗留和错误。

GIT分支管理则相对复杂,但是用起来非常的爽,也特别的有趣,各个分支间可以随意的快速进行切换、合并、还原等操作。


4、从完整性上来说,GIT的完整性远远高于SVN。

SVN经常会在不同版本间使用容易出现各种问题,比如兼容性、网络不稳定性带来莫名其妙的异常,

GIT的内容存储则采用的是哈希算法,不仅能够保障了代码的完整性,而且在网络和磁盘故障方面几乎不受到任何影响。


综上,使用SVN或者CVS的同学们,赶紧换成GIT管理代码吧。


记得点击「在看」,然后转给你身边的朋友们。

Python社区是高质量的Python/Django开发社区
本文地址:http://www.python88.com/topic/52181
 
390 次点击