添加远端仓库
我的远端仓库地址是:https://gitee.com/zgs666/testgit.hyck.git,里面有一个默认的readme文件和一个text.txt文件,内容是"lalalal"。
先在本地创建文件夹。
#mkdir testgit.hyck
#cd testgit.hyck/
然后初始化,添加一个仓库 本地名叫做origin。
#git init
git remote add origin https://gitee.com/zgs666/testgit.hyck.git
remote命令可以查询当前拥有的仓库。
#git remote
origin
pull命令可以把远端仓库分支的数据合并到本地分支,origin是本地仓库名,master是远端仓库指定的分支。
#git pull origin master
remote: Counting objects: 13, done.
没有意外的话,数据已经在本地了。
#ls
README.md test.txt
提交修改
给本地的test.txt文件加上一行文字"lahei"。使用status命令查看状态。
#git status
On branch master
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.txt
no changes added to commit (use "git add" and/or "git commit -a")
提示test.txt内容改变了。使用add命令添加更改。
git add -A 提交所有变化。
git add -u 提交被修改(modified)和被删除(deleted)文件,不包括新文件(new) 。
git add . 提交所有新文件(new)和被修改(modified)文件,不包括被删除(deleted)文件 。
git add 提交新文件
#git add -u test.txt
添加成功后就可以提交了,commit和push 命令。origin是本地库名字,master是要提交到的远程分支。commit之后会让输入更新文档。(vi工具:i键进入输入模式,输入更新文档后,esc退出输入模式,:键进入命令模式,接着输入wq保存退出)
#git commit
[master 5791afd] :更新文档 1 file changed, 1 insertion(+)
#git push origin master
如果报错...the remote contains work that you do not have locally...。从远端pull一下。
更新其他人的更改。一般push之前都要pull操作,然后再push。
#git pull origin master
可以去远端仓库看一下,内容提交了。
1 lalalal
2 lahei
冲突解决
把远程仓库的test.txt加一行"hello",本地加一行"how do you do"。然后pull。
#git pull origin master
CONFLICT (content): Merge conflict in test.txt
Automatic merge failed; fix conflicts and then commit the result.
提示了conflict,本地文件变成了:
lalalal
lahei
<<<<<<< HEAD
how do you do
=======
hello
>>>>>>> f06d5cf
修改后直接push,会创建出一个分支。下面命令可以用远端覆盖本地。
#git fetch -all
# git reset --hard origin/master
其他命令
git checkout XXX 可以强制覆盖本地的更改
git reset HEAD XXX 撤销add操作
git log 查看commit操作