git命令的使用
本地生成git远程库并关联、提交
git远程库为空的时候
一般流程如下:(远程库为空的意思是git的远程库里面什么也没有,如果有ReadMe就不是空,需要用下面另一种方法)
- git init
————在本地初始化一个git库,
- git add *
————把当前文件夹下所有文件添加到 缓存区
git commit -m “zhushi”
————提交上一步添加的文件到本地库,
git remote add origin git地址 比如(git remote add origin git@github.com:shijinliang/sjlTest.git)
————将第一步初始化的git库与git远程端关联起来,
git push origin master
————将刚才commit的版本提交到关联的远程端。
git远程库里面已经有文件的时候
一般流程如下:
git clone git地址
比如(git clone git@github.com:shijinliang/sjlTest.git)
————将远程端的内容先下载到本地,下载下来之后,需要进入文件夹里面进行下一步操作,git命令行必须是在当前工程的目录下的 .git 文件夹所在文件夹或者其子文件夹下执行(.git 文件夹为隐藏文件夹,需要设置电脑为隐藏文件夹可见)
- git add *
————把需要提交的文件放在git库的目录下之后,执行此命令,添加所有文件到缓存区,
git commit -m “注释”
————同上面解释
git push origin master
————同上面解释
这样就把项目提交上去了。
git拉取 (git pull)
开发过程中(本地已经有远程端代码的时候),如果需要push或修改代码之前,先pull一下,让本地文件和远端库属于同一个版本,然后自己才可以push(提交)。
同时,开发的时候,做完一个模块或一个功能的时候,可以commit一次,只commit,不push,commit提交在本地,然后在需要的时候直接push,会把之前所有的commit(上次push到这次push之间的commit)全部推送上去。
其他
git status
查看当前本地文件状态,一般分为两类,
Changes not staged for commit: (use “git add …” to update what will
be committed) (use “git checkout – …” to discard changes in working
directory)modified: test/main.m
•
Untracked files: (use “git add …” to include in what will be
committed)test/main2.m
上面两种,第一种显示的是本地文件被修改的(这些文件都存在于库里面),第二种是库里没有的文件,在本地有,上面的提示写的很清楚,
第一种是可以通过 git add “test/main.m” 或者 git checkout – “test/main.m” 去把对应的file 更新到缓存区,
第二种只能通过 git add “test/main2.m” 的方法去添加更新。
(上面 git add/checkout 引号中间的地址要和上面 git status 给出的地址要一致。)
git stash
这个命令一般用在,本地有文件修改,但是现在不想提交的情况下,而且现在需要切换到别的分支或者需要更新别的代码的时候(本地有修改不提交,这个时候pull(更新)是会提示ERROR的),可以使用到git stash save
文件暂存在一个暂存区,然后此时本地代码是和修改前的版本一模一样,就可以做自己的其他操作,
做完其他工作之后,需要继续之前的开发,这个时候通过 git stash pop 把暂存区的文件再提取出来,继续开发。
•当然,暂存区也是可以存多次的,这个自己了解下吧,
–git stash save/ git stash pop–
.gitignore
忽略文件的一个列表,这个文件夹可以在git网站建库的时候创建,或者在本地通过文件另存保存一个,可以起到很好的作用,把不必要提交的文件忽略掉
失去版本控制
上面的.gitignore是把本地文件,不提交到库里的做法,但是如果是库里的文件被修改,而自己不想提交,想让它失去版本控制怎么办呢,通过下面方法:
- git update-index –assume-unchanged 文件名
(后面的文件名包括路径和后缀,建议在文件当前路径下使用 命令,这样文件名就不用包含路径了。)
- git update-index –no-assume-unchanged 文件名 和上面类似。
技巧
•中文在命令行中一般显示的是八进制的字符编码,可以用一下命令修改: git config –global core.quotepath false 。
(通过将Git配置变量 core.quotepath 设置为false,就可以解决中文文件名称在这些Git命令输出中的显示问题)
•2
待续!