Remote
复制地址:
Clone https 每次操作需要输入用户名密码
Clone SSH 会记住用户名密码
创建ssh-key
ssh-keygen -t rsa –C “youremail@example.com”
查看公钥: C:\Users\Administrator.ssh
id_rsa是私钥,不能泄露出去,id_rsa.pub是公钥,可以放心地告诉任何人
码云添加公钥
头像 -> 设置 ->安全设置 -> ssh公钥
Repository(仓库)
- branch命令
查看分支:git branch
创建分支:git branch name
切换分支:git checkout name
创建+切换分支:git checkout –b name
合并某分支到当前分支:git merge name
删除分支:git branch –d name
推送本地分支到远程分支: git push origin local-branch:remote-branch
查看最后一次提交记录的修改文件信息:git show --raw - clone,pull,push命令
clone master
git clone git@gitee.com:xxx/.git
clone branch
git clone -b branch_name git@gitee.com:xxx/.git
拉取remote_master
git pull
拉取remote_branch
git pull origin branch
推送master
git push
推送branch
git push origin branch - 工作流程
切换到与远程建立联系的分支
git checkout test
拉取远程分支代码
git pull origin test
基于当前的test分支创建一个功能分支(name_time_function)
git checkout -b name_time_function
每次的代码保存提交到功能分支,可存lcoal或remote
该功能开发完成后,切换到test分支,合并该功能分支代码,注意,每次合并前先更新(pull origin branch)
git add .
git commit -m “content” #提交到local,并写日志(content)
git checkout test
git pull origin test
git merge 本地分支
git status #冲突检测
git push # 提交至remote
gitignore
根目录下右键选择“Git Bash Here”进入bash命令窗口;
输入vim .gitignore或touch .gitignore命令,打开文件(没有文件会自动创建);
按 i 键切换到编辑状态,输入规则,例如node_modules/,然后按Esc键退出编辑,输入:wq保存退出。
备注
修改远程地址
git remote set-url origin http://110.41.7.58:3000/shileipeng/jyq-store.git
查看git远程地址
git remote -v
查看提交历史(退出查看,英文状态下 按 Q )
git log
移除不必要的添加到暂存区的文件
git reset HEAD 文件名
本地分支与远程分支建立关系
(remote_branch是你本地分支对应的远程分支;your_branch是你当前的本地分支)
git branch --set-upstream-to=origin/remote_branch your_branch
本地新建文件夹(不需要提前建好,直接使用clone下来的文件也可)并与远程仓库建立联系
// 1. 创建文件夹,初始化一个新本地仓库
git init
// 2. 克隆远端服务器上的仓库(可以先创建ssh并添加到git)
git clone username@host:/path/to/repository
// 3. 先更新主分支(master) (**cd到pull下来的文件夹**)
git pull
// 4. 更新需要合并代码的远程分支
git pull origin test
// 5. 本地创建分支
git checkout -b test
// 6. 更新仓库
git pull
// 7. 将本地新创建的分支与远程分支创建联系
git branch --set-upstream-to=origin/远程分支名 本地分支名
本地已有文件与远程仓库建立联系
如果是 本地的 非默认master分支与远程非master分支建立联系,需要先在本地新建分支 再进行 remote
// 项目文件夹
git init
// 添加所有文件
git add .
// 提交所有文件
git commit -m '备注'
// 连接到远程仓库
git remote add origin git@github.com:yaoxin1996/Ajax.git
// 合并代码(pull = fetch + merge)
git pull --rebase origin master
// 把本地项目推送到远程仓库
git push -u origin master
// 如果是 本地的 非默认master分支与远程非master分支建立联系,需要先在本地新建分支 再进行 remote
git checkout -b dev
git pull
git branch --set-upstream-to=origin/远程分支名 本地分支名
记Git报错-refusing to merge unrelated histories
出现这个问题的最主要原因还是在于本地仓库和远程仓库实际上是独立的两个仓库。假如我之前是直接clone的方式在本地建立起远程github仓库的克隆本地仓库就不会有这问题了。
查阅了一下资料,发现可以在pull命令后紧接着使用–allow-unrelated-history选项来解决问题(该选项可以合并两个独立启动仓库的历史)。
git pull origin master --allow-unrelated-histories