本地工程提交到远程仓库
在本地新建一个repo:进入一个项目目录,执行git init,会初始化一个repo,并在当前文件夹下创建一个.git文件夹
获取一个url对应的远程Git repo, 创建一个local copy. 一般的格式是git clone [url]. clone下来的repo会以url最后一个斜线后面的名称命名,创建一个文件夹,如果想要指定特定的名称,可以git clone [url] newname指定
当本地项目发生改变需要提交到远程仓库时需要使用add commit push命令 在提交之前,Git有一个暂存区(staging area),可以放入新添加的文件或者加入新的改动. commit时提交的改动是上一次加入到staging area中的改动,而不是我们disk上的改动. git add .会递归地添加当前工作目录中的所有文件. git commit提交已经被add进来的改动,但并不会提交到远程仓库,需要使用push命令
git commit -m “the commit message" git push
git pull冲突时的解决方法
远程仓库代码更新时,本地需要同步代码则使用:git pull,但有时会出现error:commit your changes or stash them before you can merge,由于对相同文件的修改导致冲突出现,因此有以下解决方法:
1、保留本地的修改 的改法
1)直接commit本地的修改
2)通过git stash
通过git stash将工作区恢复到上次提交的内容,同时备份本地所做的修改,之后就可以正常git pull了,git pull完成后,执行git stash pop将之前本地做的修改应用到当前工作区。
git stash: 备份当前的工作区的内容,从最近的一次提交中读取相关内容,让工作区保证和上次提交的内容一致。同时,将当前的工作区内容保存到Git栈中。
git stash pop: 从Git栈中读取最近一次保存的内容,恢复工作区的相关内容。由于可能存在多个Stash的内容,所以用栈来管理,pop会从最近的一个stash中读取内容并恢复。
git stash list: 显示Git栈内的所有备份,可以利用这个列表来决定从那个地方恢复。
git stash clear: 清空Git栈。此时使用gitg等图形化工具会发现,原来stash的哪些节点都消失了。