一般流程如下:(远程库为空的意思是git的远程库里面什么也没有,如果有ReadMe就不是空,需要用下面另一种方法)
一般流程如下:
git clone git地址
比如(git clone git@github.com:shijinliang/sjlTest.git)
————将远程端的内容先下载到本地,下载下来之后,需要进入文件夹里面进行下一步操作,git命令行必须是在当前工程的目录下的 .git 文件夹所在文件夹或者其子文件夹下执行(.git 文件夹为隐藏文件夹,需要设置电脑为隐藏文件夹可见)
这样就把项目提交上去了。
开发过程中(本地已经有远程端代码的时候),如果需要push或修改代码之前,先pull一下,让本地文件和远端库属于同一个版本,然后自己才可以push(提交)。
同时,开发的时候,做完一个模块或一个功能的时候,可以commit一次,只commit,不push,commit提交在本地,然后在需要的时候直接push,会把之前所有的commit(上次push到这次push之间的commit)全部推送上去。
查看当前本地文件状态,一般分为两类,
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 给出的地址要一致。)
这个命令一般用在,本地有文件修改,但是现在不想提交的情况下,而且现在需要切换到别的分支或者需要更新别的代码的时候(本地有修改不提交,这个时候pull(更新)是会提示ERROR的),可以使用到git stash save
文件暂存在一个暂存区,然后此时本地代码是和修改前的版本一模一样,就可以做自己的其他操作,
做完其他工作之后,需要继续之前的开发,这个时候通过 git stash pop 把暂存区的文件再提取出来,继续开发。
–git stash save/ git stash pop–
忽略文件的一个列表,这个文件夹可以在git网站建库的时候创建,或者在本地通过文件另存保存一个,可以起到很好的作用,把不必要提交的文件忽略掉
上面的.gitignore是把本地文件,不提交到库里的做法,但是如果是库里的文件被修改,而自己不想提交,想让它失去版本控制怎么办呢,通过下面方法:
git update-index –assume-unchanged 文件名
(后面的文件名包括路径和后缀,建议在文件当前路径下使用 命令,这样文件名就不用包含路径了。)
git update-index –no-assume-unchanged 文件名 和上面类似。
待续!
原文地址:http://blog.csdn.net/sjl_leaf/article/details/46532573