-
首先,要在GitHub上建立一个repository,然后copy repo的URL
https://github.com/jacksgithub99/JacksZoomOut.git -
然后,在本地建立一个目录(文件夹,如'001'),打开终端进入该目录,输入 $ git init
这样就完成了【本地仓库】初始化。该目录下会生成.git的文件夹。下面是命令操作步骤: -
第1步,添加【远程仓库】(myRepoName可以是任意名称,是远程仓库的别名):
$ git remote add myRepoName https://github.com/jacksgithub99/JacksZoomOut.git -
第2步,拉取【远程仓库】(myRepoName是上一步绑定的远程仓库别名,master是分支名,这里是主分支):
$ git pull myRepoName master
备注:因为我直接用 git clone会报错:‘fatal: repository 'myRepoName' does not exist',但是用pull却成功了,所以这里第一次拉取用了pull。区别是,clone是拉取所有版本,pull是拉取最新版本。
-
第3步,往当前【本地】目录添加文件,或文件夹(如,MyTest.text)。然后add到【本地仓库】。
$ git add MyTest.text
备注:无论是新添加文件,还是修改了文件,都必须要'add'! -
第4步,把修改提交到【本地仓库】,不能直接提交到【远程仓库】
$ git commit [-m 'this is some description!'] -
第5步,把修改提交到【远程仓库】
git push (后面可以加分支名) 备注:如果你还没有配置好提交信息,会报错'fatal: No configured push destination.',第一次先配置push信息: git push --set-upstream myRepoName master
其中,myRepoName是远程仓库别名(见第1步),master是分支名
更多命令
查看远程仓库信息
$ git remote show myRepoName
查看当前工作区状态(哪些文件被添加、修改、删除)
$ git status
查看某个文件的修改
$ git diff README.md
$ git diff HEAD -- README.md
导出
$ git checkout -- MyTest.text
删除文件
$ git rm MyTest.text
查看文本内容(貌似不是git命令)
$ cat MyTest.text
查看版本历史(英文状态按q退出查看)
$ git log
commit 65bbed4c603ec1b949dd96a96d68b047231c2e49 (HEAD -> master, org/master)
Author: jacksgithub99 <784266248@qq.com>
Date: Mon Jul 16 18:00:32 2018 +0800
add proj
commit 05c0c1c7edae018ed6c6c81119ac5281ec51a56f
Author: jacksgithub99 <784266248@qq.com>
Date: Mon Jul 16 17:54:04 2018 +0800
set read me
commit d53396d3933a36296958ae390413fea448e8dbc4
Author: jacksgithub99 <784266248@qq.com>
Date: Mon Jul 16 17:51:10 2018 +0800
delete image
查看全部历史版本
$ git reflog
终端截图
版本回退(切换)
-
逐级回退(git中HEAD表示当前版本,加一个'^'表示上一级,加3个‘HEAD^^^’表示退回3个版本,如果是100个...当然也可以退回100个版本,但可以用数字代替为'HEAD~100')
$ git reset --hard HEAD^ -
指定id退回(id为log命令中显示的一长串16进制数字,如65bbed4c603ec1b949dd96a96d68b047231c2e49,命令中只需要写前面4-5位字符,可以区分唯一版本就可以了。如果只写了一位,可能会跟其它id第一位相同,导致失败。)
$ git reset --hard 05c0c
配置文件
- 忽略文件
在项目根目录下,创建一个.gitignore文件。可在终端用 $ vim .gitignore创建。文件内容可以在git官网提供的模型copy(比如copy Swift.gitignore的内容,然后贴到.gitignore里面。然后依样画葫芦,添加自己要过滤的文件,如 .DS_Store,.xcuserstate,.gitignore)
网友评论