在github上 创建一个git仓库
- 回到本地, 初始化当前 git环境(此步骤只需要一次)
git init (会在当前出现一个.git隐藏文件 )
- 将本地路径 跟远程的git路径 相关联(此步骤只需要一次)
git remote add origin url
- 查看本地仓库链接的远程仓库地址
git remote -v
- 配置git的用户名和密码(此步骤只需要一次)
git config --global user.name "wirelessqa"
git config --global user.email "wirelessqa.me@gmail.com"
http://blog.csdn.net/helinlin007/article/details/52266169
- 如果是红帽 git 低版本
- 修改.git/config
- https://username@giturl 加上用户名@
- 需要在终端执行unset SSH_ASKPASS
- 修改.git/config
- 将README.md文件 加入到git所关联的文件列表中,这个文件如果修改 状态 git会做跟踪管理
git add README.md
git add * (添加所有文件)
- 将REAMEME.md 设置为准备提交状态(接下来gitpush 就会将commit状态的文件 提交到远程)
git commit README.md -m"日志"
git commit -a -m"日志" (将文件列表中的所有文件 设置为准备提交状态)
- 将本地已经commit的文件 提交到远程 git仓库
git push -u origin master
- 很常用的查看当前仓库状态命令 git status (建议经常使用)
- —— 下载文件 ———–
git clone https://url@.git
- ——- 删除文件 —————–
git rm aaa.c
git commit aaa.c -m"delte aaa.c"
git push -u origin master
- ——– 修改文件 —————
每次提交代码之前, 一定要保证本地的当前的代码是最新的, 通过执行
git pull
- ——- 解决冲突——-
git pull
如果本地代码 和远程代码出现冲突, 需要手动解决。
git stash
//将本地文件 回馈 上一步操作
在上一个版本下,执行git pull
将新代码下载下来
回复最后写的代码git stash pop
会将已经冲突的文件 合并.里面会有<<<<< 和 >>>>>
, 这里之中就是本地和远程的冲突的部分,手动去解决
, 然后再git pull, git commit , git push
.
- ——— git 分支有关操作 —–
- 如果当前两个分支 master branch1
- 下载某个分支
git clone -b 分支名称 url
- 切换分支
git checkout 分支名
(不建议使用) 最好给一个分支单 - 查看当前的属于哪个分支,
git branch
- 查看都有哪些分支,
git branch -a
- 向某个分支提交代码
git push -u origin 本地分支名:远程分支名
- 本地创建分支,
git branch 分支名
- 将本地新建分支推送至服务器仓库
git push origin 新建分支名
- 强制push,即使远程仓库的修改丢失(最不建议使用的方式,因为如果多人协作开发别人的修改就会因此丢失)
$ git push -u origin master -f
fork 别人的仓库进行协同开发:
- fork 一个 代码仓库(A)
- 在自己的git上,找打fork的仓库, git clone 代码到本地
- git remote add upstream (A 仓库的地址)
- 切换分支至 upstream/master
git checkout upstream/master
- 拉取仓库 A 的变化,
git fetch upstream
- 切换分支至master ,
git checkout master
- 将upstream/master 分支的变化合并到 master 分支
git merge upstream/master
- 提交给自己的git 仓库,
git push
查看提交记录
git log --name-status 每次修改的文件列表, 显示状态
git log --name-only 每次修改的文件列表
git log --stat 每次修改的文件列表, 及文件修改的统计
git whatchanged 每次修改的文件列表
git whatchanged --stat 每次修改的文件列表, 及文件修改的统计
git show 显示最后一次的文件改变的具体内容
19. git patch 操作
1. 两个commit间的修改(包含两个commit)
git format-patch <r1>..<r2>
2. 单个commit
git format-patch -1 <r1>
3. 从某commit以来的修改(不包含该commit)
git format-patch <r1>
20. push 到远程服务器的commit的回退方法
git revert <commit id>
git push
tag 操作
git stash 操作
将多个commit 合并成一个commit;使用rebase
- 将B项目的commit 合并到A项目
cd /home/you/projectA
git remote add projectB /home/you/projectB
git fetch projectB
git cherry-pick <first_commit>..<last_commit>
(此时可能会有冲突,需手动修改)- 修改完冲突后,手动添加文件
git cherry-pick --continue