$git config --global user.name "名字"                            初始化作者名字

$git config --global user.email "email地址"                    初始化作者email地址

$git init                                初始化一个仓库

$git init --bare                     初始化一个裸仓库,用于作为远程仓库

$git add .                             点号(.)添加全部改动的文件,包含修改和新增的文件(已备下一步提交用)

$git add x/y/abc.php           单独添加一个文件用于提交,这里路径为当前路径往下的路径部分(相对路径)。注意点:

①比如文件全路径是c:/mydoc/x/y/abc.php。假设git的根目录是c:/mydoc,即当前所在目录是c:/mydoc,那么add添加路径就是 x/y/abc.php。

②前面不需要一个/,然后路径中用的杠都是正斜杠/,不要用反斜杠。

③可以一次次添加,两个文件可以通过这样两行指令分别添加。

$git commit -m 'xx'     -a就不用add命令        提交到本地

$git remote add wzjRep(给远程仓库取个名字) file:///Users/wzj/gitMother(地址)            添加远程仓库的名字(命名)和地址

$ git remote rm [name] 删除远程仓库(比如仓库的文件夹改名了,这时要push就会找不到了,可以重新建一个remote并删除原有remote<为了不混淆>)

$git push wzjRep(仓库名) master            上传到远程仓库

$git clone --local /Users/wzj/gitMother(远程仓库地址) /Users/wzj/workspace/gitSon2(本地仓库地址)    从远程仓库克隆一份到本地仓库,采用clone的方法创建本地库不可以事先初始化(同一个盘符可以加local,不同的盘符不可以加local)

$git push (-u) origin master                          使用clone指令下载的本地仓库在提交的时候因为已经识别了父仓库所以用origin

$git pull [设置远程库所设定的名称] master    下载远程库的另一个方法,初始化,设定远程库,pull

$git checkout master  跟pull功能类似

$git fetch origin+git pull 下载并合并

$git config core.sparsecheckout true        只下载远程仓库的某个文件夹而非克隆全部

$echo "libs">>.git/info/sparse-checkout

$echo "app/register.go">>.git/info/sparse-checkout

$git pull origin master

$touch .gitignore 创建要忽略的文件清单(规则)

            # 此为注释 – 将被 Git 忽略
            *.a               # 忽略所有 .a 结尾的文件
            !lib.a            # 但 lib.a 除外
            /TODO         # 仅仅忽略项目根目录下的 TODO 文件,不包括 subdir/TODO
            build/            # 忽略 build/ 目录下的所有文件
            doc/*.txt     # 会忽略 doc/notes.txt 但不包括 doc/server/arch.txt

            zlib             #忽略文件夹及其下所有文件 

            zlib/            #和(zlib)一样因为git不会自动保留空文件夹

mac查看隐藏文件(.gitignore)的方法:

            defaults write com.apple.finder AppleShowAllFiles -bool YES

            defaults write com.apple.finder AppleShowAllFiles -bool NO 

            然后重启finder:option+单击finder 3秒出来菜单-重新启动

mac下每个文件夹会自动建立隐藏文件“.DS_Store”,应该把这条加到.gitignore里面。因为代码要在不同系统间通用的,所以不管是在什么系统首先开发的,都要加上这个。

$git  ls-tree  --name-only HEAD    查看有多少文件夹(方便只down其中一个文件)

eclipse需要过滤同步的文件:

.metadata
zjava
.DS_Store
bin
gen

zjava需要过滤同步的文件:
.DS_Store
xcode需要过滤同步的文件:
.DS_Store
project.xcworkspace
xcuserdata
注意:如果已经push过某个文件,则过滤无效。应该先把该文件删除了,提交更新,然后再提交ignore,之后再把该文件放入项目,则之后就不会提交了。

$ git checkout .        恢复到最后一次提交的版本,防止误操作,或者修改不满意想重新来。必须是未add的,否则无法恢复;新建的文件git像是不知道他的存在一样,没办法帮你删除。

$git checkout 文件路径        该文件恢复到最后一次提交的版本

$ git reset HEAD .      如果文件已经add,那么先用这个reset指令撤销之前的操作,接着再checkout。

//______________________添加远程服务器配置方法_________________________

1、查看是否已经有ssh:
cd ~/.ssh
2、删除已有ssh:
ssh-keygen -R ip地址

3、生成ssh:

ssh-keygen -t rsa -C "wzj1818@qq.com"

4、将.pub里面的公钥配置到网站

5、在本机测试:

ssh git@code.csdn.net

6、如果Permission denied (publickey,keyboard-interactive)则要执行:

ssh-add ~/.ssh/密钥文件名(不含.pub)<临时记住,重启就失效了>

ssh-add -K ~/.ssh/密钥文件名(不含.pub)<永久会记住>

7、找文件,在桌面(shift+command+g)

8、~/表示用户目录下

9、生成的密钥对最好也放在.ssh下面

git学习链接:

http://gitbook.liuhui998.com/index.html

http://iissnan.com/progit/?spm=5176.blog5843.yqblogcon1.17.8zwy30

https://yq.aliyun.com/articles/5843?hmsr=toutiao.io&amp;utm_medium=toutiao.io&amp;utm_source=toutiao.io

//______________________windows下配置的不同之处_________________________

1、安装git之后不会自动关联ssh-keygen的路径,要手动添加path到环境变量里,方法在博客上面有记录

2、windows下面貌似会自动记住ssh私钥

3、这样处理:生成ssh的时候一路默认回车,不要填入ssh的文件名,这样会生成在.ssh文件夹内,这样系统才会找到私钥的路径

4、如果是code.aliyun.com,首次配置的项目,必须先生成readme,才能clone,否则clone不下来。

Logo

有“AI”的1024 = 2048,欢迎大家加入2048 AI社区

更多推荐